Postingan

AVL Tree

Gambar
AVL Tree adalah Binary Search Tree yang memiliki perbedaan tinggi/ 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. Penambahan node di AVL Tree         Untuk menjaga tree tetap imbang, setelah penyisipan sebuah node, dilakukan pemeriksaan dari node baru → root. Node pertama yang memiliki |balance factor| > 1 diseimbangkan. Proses penyeimbangan dilakukan dengan: Single rotation dan Double rotation Single Rotation   Single rotation dilakukan bila kondisi AVL tree waktu akan ditambahkan node baru dan posisi node baru seperti pada gambar 2. 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 (mirror image) Double Rotation Double r...

Summary Data Structure

Gambar
LINKED LIST 1.        Circular Single Linked List Single : field pointernya hanya satu buah dan satu arah Linked List : node-node nya saling terhubung satu sama lain Circular : pointer next-nya akan menunjuk pada dirinya sendiri sehingga berputar   Jadi, single linked list circular adalah single linked list yang pointer nextnya menunjuk kepada dirinya sendiri artinya linked list ini tidak memiliki nilai NULL untuk medan sambungannya. Setiap nodenya memiliki field yang berisi pointer ke next node, dan juga memiliki field yang berisi data. Deklarasi Single Linked List Circular:   Struct tnode   {   int data; tnode *next;   }; void main()   {   head = new tnode;   head->next = head;   } Node terakhir akan menunjuk ke node paling depan sehingga linked list akan terus berputar. 1.        Double Linked List Adalah linked list ...

Binary Search Trees

Gambar
Di computer science, binary search trees (BST), disebut sebagai binary tree yang diurutkan, adalah sebuah data structure yang menyimpan "item" tertentu (biasanya angka, nama, dll) di memori. Binary search trees (BST) memungkinkan untuk pencarian cepat, penambahan dan penghapusan item. Pada binary search trees (BST) sendiri menggunakan konsep untuk angka lebih kecil berada di sebelah kiri dan angka lebih besar berada di sebelah kanan. Binary search tree mempunyai operasi dasar yaitu: -           find(x)             : mencari kunci x di binary search tree (BST) Setiap kali data dicari, mulailah mencari dari simpul akar. Kemudian jika data kurang dari nilai kunci, cari elemen di subtree kiri. Jika tidak, cari elemen di subtree kanan. Ikuti algoritma yang sama untuk setiap node. -           insert(x)     ...