Saat kami mengembangkan perangkat lunak, kami harus menyimpan data di memori. Namun, banyak jenis struktur data, seperti array, peta, set, daftar, pohon, grafik, dll. , dan memilih yang tepat untuk tugas itu bisa jadi rumit. Serangkaian posting ini akan membantu Anda mengetahui kompromi sehingga Anda dapat menggunakan alat yang tepat untuk pekerjaan itu
Bagian ini akan fokus pada struktur data linier. Array, Daftar, Set, Tumpukan, dan Antrian
Anda dapat menemukan semua implementasi ini dan lebih banyak lagi di repo Github. https. //github. com/amejiarosario/dsa. js
Posting ini adalah bagian dari seri tutorial
Mempelajari Struktur dan Algoritma Data (DSA) untuk Pemula
Pengantar kompleksitas waktu algoritme dan notasi Big O
Delapan kali kompleksitas yang harus diketahui oleh setiap programmer
Struktur Data untuk Pemula. Array, HashMaps, dan Daftar 👈 Anda ada di sini
Struktur Data Grafik untuk Pemula
Struktur Data Pohon untuk Pemula
Pohon Pencarian Biner yang seimbang sendiri
Lampiran I. Analisis Algoritma Rekursif
Cheatsheet Struktur Data Big-O
Tabel berikut adalah ringkasan dari semua yang akan kita bahas
Tandai, sematkan, atau bagikan, sehingga Anda memilikinya saat Anda membutuhkannya
Klik pada nama untuk menuju ke bagian atau klik pada runtime untuk menuju ke implementasi
function remove(array, element) {
const index = search(array, element);
array.splice(index, 1);
return array;
}
const array1 = [0, 1, 2, 3];
console.log(remove(array1, 1)); // => [ 0, 2, 3 ]
4 = Waktu kerja diamortisasi
const index = search(array, element);
array.splice(index, 1);
return array;
}
const array1 = [0, 1, 2, 3];
console.log(remove(array1, 1)); // => [ 0, 2, 3 ]
5. Pengulangan dapat memengaruhi waktu penyisipan. Peta (menggunakan Binary Search Tree)O(log(n))-O(log(n))O(log(n))Diimplementasikan menggunakan Binary Search Tree-Set menggunakan implementasi HashMap. Tetapkan (menggunakan daftar)-Diimplementasikan menggunakan Pohon Pencarian BinerSet (menggunakan Pohon Pencarian Biner)O(log(n))-O(log(n))O(log(n))Diimplementasikan menggunakan Pohon Pencarian Biner-Menambahkan/Menghapus ke awal daftar adalah function remove(array, element) {
const index = search(array, element);
array.splice(index, 1);
return array;
}
const array1 = [0, 1, 2, 3];
console.log(remove(array1, 1)); // => [ 0, 2, 3 ]
5. . -Menambahkan/Menghapus dari awal/akhir adalah function remove(array, element) {
const index = search(array, element);
array.splice(index, 1);
return array;
}
const array1 = [0, 1, 2, 3];
console.log(remove(array1, 1)); // => [ 0, 2, 3 ]
5. Tapi, menghapus/menambahkan dari tengah adalah function remove(array, element) {
const index = search(array, element);
array.splice(index, 1);
return array;
}
const array1 = [0, 1, 2, 3];
console.log(remove(array1, 1)); // => [ 0, 2, 3 ]
8. --Sisipkan/hapus adalah yang terakhir masuk, keluar pertama (LIFO)--Hapus (function remove(array, element) {
const index = search(array, element);
array.splice(index, 1);
return array;
}
const array1 = [0, 1, 2, 3];
console.log(remove(array1, 1)); // => [ 0, 2, 3 ]
9) adalah O(n)--Waktu terburuk adalah O(n). Namun diamortisasi adalah O(1)--Menggunakan Doubly Linked List dengan mengacu pada elemen terakhir
Catatan. Pohon dan pohon pencarian biner secara umum akan dibahas pada postingan berikutnya. Juga, grafik struktur data