Rumah  >  Artikel  >  hujung hadapan web  >  Struktur Data & Algoritma Hari 0

Struktur Data & Algoritma Hari 0

Patricia Arquette
Patricia Arquetteasal
2024-10-06 06:20:03990semak imbas

Data Structures & Algorithm Day 0

Hari 0

Struktur data asas

Kami akan melihat semua contoh kod dalam javascript tetapi konsep ini bukan bahasa agnostik

  1. Susun atur

Susun atur ialah himpunan unsur, biasanya daripada jenis yang sama, disimpan di lokasi memori bersebelahan.

Array sebagai Senarai Buku:
Bayangkan anda mempunyai rak yang memuatkan bilangan buku tertentu. Setiap slot pada rak adalah seperti indeks dalam tatasusunan dan setiap buku adalah seperti elemen yang disimpan pada indeks itu.

Ciri-ciri Utama:

Pengindeksan: Setiap elemen boleh diakses oleh indeksnya (berasaskan 0 atau berasaskan 1 bergantung pada bahasa).


const fruit  = ['Banana','Apple','Grape', 'Pineapple']

console.log(fruit[0]) //  Banana is accessed 0 index
console.log(fruit[3]) // Pineapple is accessed 3 index


Saiz tetap: Setelah diisytiharkan, saiz tatasusunan tidak boleh berubah (tatasusunan statik).
Dalam bahasa dengan tatasusunan statik, apabila anda mengisytiharkan tatasusunan, anda mesti menentukan saiznya pada masa penciptaan. Ini bermakna jika anda mengisytiharkan tatasusunan dengan saiz 5, anda hanya boleh menyimpan 5 elemen di dalamnya dan saiznya tidak boleh diubah kemudian. Anda tidak boleh menambah lebih banyak elemen setelah tatasusunan penuh, anda juga tidak boleh mengecilkannya.

Walau bagaimanapun, tatasusunan JavaScript bersifat dinamik, jadi anda tidak mempunyai had saiz tetap ini dalam kebanyakan kes. Tetapi untuk memahami tatasusunan bersaiz tetap secara konsep, bayangkan jika tatasusunan JavaScript tidak dapat berkembang atau mengecut.


let fixedArray = new Array(3); // Array with a fixed size of 3
fixedArray[0] = 'apple';
fixedArray[1] = 'banana';
fixedArray[2] = 'cherry';

// Now if you try to add another item:
fixedArray[3] = 'date'; // This would throw an error or overwrite an existing element (hypothetically)


console.log(fixedArray) // [ 'apple', 'banana', 'cherry', 'date' ]


Akses rawak: Anda boleh mengakses mana-mana elemen secara terus menggunakan indeksnya.


const fruit  = ['Banana','Apple','Grape', 'Pineapple']

console.log(fruit[0]) // index 0 is the Banana 
console.log(fruit[3]) // index 3 is the Pineapple 


Kebaikan:

  • Akses pantas kepada elemen mengikut indeks (O(1) kerumitan masa).
  • Mudah untuk dilaksanakan.

Keburukan:

  • Sisipan dan pemadaman adalah mahal (kerumitan masa O(n)) kerana elemen peralihan mungkin diperlukan.
  • Saiz tetap (dalam sesetengah bahasa), menjadikannya kurang fleksibel.

Atas ialah kandungan terperinci Struktur Data & Algoritma Hari 0. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn