Posts

Image
AVL Trees AVL trees mirip dengan binary search tree. Hanya saja AVL memiliki perbedaan yaitu akan menyeimbangkan ketinggian dari subtrees kiri dan kanan. Perbedaan ketinggian dari subtrees kiri dan subtrees kanan kurang dari atau sama dengan 1. Contoh diatas merupakan AVL tree karena perbedaan ketinggian dari subtrees kiri dan kanan kurang atau sama dengan satu. Sedangkan untuk gambar ke dua bukan merupakan avl karena perbedaan ketinggian dari subtrees kiri dan kanan lebih dari satu. Keuntungan dalam menggunakan AVL Tree adalah jika kita menggunakan BST / Binary Search Tree untuk mempercepat pencarian data, maka dengan menggunakan AVL akan menjadi semakin cepat lagi karena seimbang serta tidak memakan tempat di ketinggian yang lain. Sehingga waktu pencarian data tidak lebih dari log2n langkah. Ada 4 kasus dalam operasi insert, yaitu: T adalah node yang harus diseimbangkan. 1.        Node terdalam terletak pada subtree kiri ...

Summary

Image
Linked   List Linked list adalah sebuah data structure yang sederhana. Linked list merupakan element yang berurutan dan element yang satu memiliki hubungan dengan element selanjutnya. Linked list dapat berisi berbagai tipe data seperti string, char, int, dan lain-lain. Element yang ada di dalamnya bisa berurutan atau tidak berurutan. Lalu juga bisa berupa element yang sama maupun element yang unik.  Linked list dan array memiliki banyak persamaan. Walau  begitu tetap keduanya memiliki perbedaan. Array memiliki index, sehingga jika ingin mencari nilai dari element ke berapa, kita dengan mudah akan menemukannya sebagai contoh a[3] (nilai dari element ke 3 ada di indeks ke 4). Sedangkan dengan linked list, kita perlu untuk mulai dari kepala atau element yang pertama sampai ke element yang ke 4. Sehingga prosesnya akan lebih lambat dari pada pencarian menggunakan array. Linked list adalah kumpulan linear dari nodes, sedangkan array adalah kumpulan linear ...

Hash Table and Binary Table

Image
Hash table => Adalah data structure yang menyimpan data berdasarkan pola yang ada di dalam data tersebut. Dalam Hash Table data disimpan dalam format Array, dimana setiap nilai dalam data tersebut memiliki nilai index yang unik. Kita dapat mengakses data dengan sangat cepat jika kita tahu index data yang kita inginkan. Hashing Hashing adalah Teknik dalam mencari nilai dengan kunci yang spesifik, sehingga dapat di akses dengan efisien dan mudah. Hash table sering dipakai dalam aplikasi yang modern. Hash table digunakan untuk menyimpan nilai per kunci, untuk melakukan pencarian dengan efficient tanpa bergantung pada linear search. Sebagai gambaran Hashing, seperti di perpustakaan. Buku-buku yang ada memiliki kode   yang unik yang bisa digunakan untuk mencari informasi tentang buku yang sedang kita cari. Dengan menggunakan system computer di perpustakaan, kita dapat mengetahui posisi yang jelas akan buku yang kita cari di perpustakaan setelah memasukan kode tersebut. ...
LINKED LIST II Circular linked list adalah linked list dimana semua nodenya saling menyatu atau berhubungan kedalam suatu bentuk lingkaran. Tidak ada NULL di akhirnya. Circular linked list bisa single bisa double. Ada keunggulan dalam menggunakan circular linked list. Seperti kita dapat traverse keseluruhan listnnya mulai dari titik manapun. Semua node bisa menjadi node pembuka atau starting pointnya. Kita hanya perlu berhenti ketika node pertama dikunjungi lagi. Berguna dalam mengimplementasikan dalam antrian. Kita tidak perlu menggunakan dua pointer untuk menentukan mana yang depan dan mana yang belakang. Kita bisa mempertahankan pointer hanya dengan mengetahui siapa pointer pertamanya. Circular linked list juga berguna dalam mengoperasikan suatu system. Untuk mengurutkan suatu aplikasi dan menjalankannya dengan sistematis. Memberikan waktu untuk menjalankannya. Doubly linked list mirip seperti linked list. Dimana single linked list memilliki dua field atau tempat...
Linked List Linked list adalah sebuah data structure yang sederhana. Linked list merupakan element yang berurutan dan element yang satu memiliki hubungan dengan element selanjutnya. Linked list dapat berisi berbagai tipe data seperti string, char, int, dan lain-lain. Element yang ada di dalamnya bisa berurutan atau tidak berurutan. Lalu juga bisa berupa element yang sama maupun element yang unik.   Linked list dan array memiliki banyak persamaan. Walau   begitu tetap keduanya memiliki perbedaan. Array memiliki index, sehingga jika ingin mencari nilai dari element ke berapa, kita dengan mudah akan menemukannya sebagai contoh a[3] (nilai dari element ke 3 ada di indeks ke 4). Sedangkan dengan linked list, kita perlu untuk mulai dari kepala atau element yang pertama sampai ke element yang ke 4. Sehingga prosesnya akan lebih lambat dari pada pencarian menggunakan array. Linked list adalah kumpulan linear dari nodes, sedangkan array adalah kumpulan linear dari data...