Posts

Heap and Tries

Image
Heap and Tries Heap      Heap adalah sebuah data struktur berbentuk binary tree yang mengikuti properti dari heap, yaitu :   -  Max-Heap, node child selalu memliki nilai yang lebih kecil dari node parent.    -  Min-Heap, node child selalu memiliki nilai yang lebih besar node parent.    -  Min-Max Heap adalah complete binary tree yang di setiap level genapnya(0, 2, 4) memiliki node yang lebih kecil dari anaknya, sedangkan di setiap level ganjilnya(1, 3, 5) memiliki node yang lebih besar dari anaknya. Tries Tries adalah sebuah contoh data structure yang dibuat berdasarkan sebuah prefix dari string. Tries ini digunakan untuk menyimpan sebuah string yang divisualisasi seperti sebuah grafik. Setiap node memiliki maximal 26 anak. ]

AVL TREE

Image
AVL TREE AVL TREE AVL Tree adalah Binary Search Tree yang memiliki perbedaan tinggi atau level maksimal 1   antara subtree kiri dan subtree kanan. AVL Tree muncul untuk menyeimbangkan   Binary Search Tree. Dengan AVL Tree, waktu pencarian dan bentuk tree dapat dipersingkat dan disederhanakan. Contoh AVL Tree:  AVL Tree memiliki dua cara untuk merotasi nodenya yaitu: A. SINGLE ROTATION     Si ngle rotation dilakukan bila kondisi AVL tree waktu akan ditambahkan node baru dan posisi node baru seperti pada gambar dibawah.  T1, T2, dan T3 adalah subtree yang urutannya harus seperti demikian serta height- nya harus sama (≥ 0). Hal ini juga berlaku untuk AVL tree yang merupakan citra cermin. B. DOUBLE ROTATION     Double rotation dilakukan bila kondisi AVL tree waktu akan ditambahkan node baru dan posisi node baru seperti pada gambar 3. T1, T2, T3, dan T4 adalah subtree yang urutannya harus seperti demikian. Tinggi subtree T1 harus sama dengan T4 (≥ 0), tinggi subtre

SUMMARY UTS

Image
Review summary UTS: Linked List Stack & Queue Hash table and binary tree Binary tree Linked List Linked list sendiri merupakan seperangkat node yang dialokasikan secara dinamis, disusun sedemikian rupa sehingga setiap node berisi satu nilai dan satu pointer. Pointer selalu menunjuk ke anggota berikutnya dari daftar. Jika penunjuknya adalah NULL, maka itu adalah simpul terakhir dalam daftar. Namun, memahami pointer sangat penting untuk memahami cara kerja daftar yang ditautkan.  Pada dasarnya, Linked List berfungsi sebagai array yang dapat tumbuh dan menyusut sesuai kebutuhan, dari titik mana pun dalam array. Linked list diperlukan alokasi dan pointer memori dinamis, yang memperumit kode dan meningkatkan risiko kebocoran memori dan kesalahan segmen. Linked List memiliki overhead yang lebih besar daripada array, karena item linked list dialokasikan secara dinamis (kurang efisien) dan setiap item dalam daftar juga harus menyimpan pointer tambahan. St