Postingan

HEAP & TRIES

Gambar
HEAP  Heap adalah COMPLETE binary tree dengan heap properties Jenis - jenis Heap; 1. Min-Heap Min-heap adalah heap dimana root merupakan node dengan bilangan terkecil, dan bilangan node children selalu lebih besar dibandingkan parentnya 2. Max-Heap kebalikan dari Min-Heap, dimana root dari Max-Heap merupakan node dengan bilangan terbesar, dan nilai/bilangan children nya selalu lebih kecil dibandingkan parentnya 3. Min-Max Heap Min-Max Heap adalah heap yang urutan Min dan Max nya selang seling   TRIES Tries adalah prefix tree yaitu data tree yang terurut strukturnya untuk penyimpan suatu array Aplikasi TRIES : auto complete text pada pencarian browser, spell checker pada digital dictionary

AVL TREE

Gambar
AVL adalah balanced binary search tree dimana ia memiliki perbedaan jumlah node pada subtree kiri dan subtree kanannya maksimal 1 (atau dapat dikatakan antara tingginya sama atau selisih satu). Contoh AVL Tree AVL Tree : Insert Ada 4 kasus yang biasanya terjadi saat operasi insert dilakukan, yaitu : anggap T adalah node yang harus diseimbangkan kembali. - Kasus 1 : node terdalam terletak pada subtree kiri dari anak kiri T (left-left). - Kasus 2 : node terdalam terletak pada subtree kanan dari anak kanan T (right-right). - Kasus 3 : node terdalam terletak pada subtree kanan dari anak kiri T (right-left). - Kasus 4 : node terdalam terletak pada subtree kiri dari anak kanan T (left-right). Ke-4 kasus tersebut dapat diselesaikan dengan melakukan rotasi. - Kasus 1 dan 2 dengan single rotation. - Kasus 3 dan 4 dengan double rotation. Single Rotation Single rotasi (rotasi 1x) dilakukan apabila searah, left-left atau right-right Gambaran Single Rotation : Pada contoh diata...

Hashing Table and Binary Tree

Gambar
1. Pengertian Hash Tabel Hash Table adalah sebuah struktur data yang terdiri atas sebuah tabel dan fungsi yang bertujuan untuk memetakan nilai kunci yang unik untuk setiap record (baris) menjadi angka (hash) lokasi record tersebut dalam sebuah tabel. Keunggulan dari struktur hash table ini adalah waktu aksesnya yang cukup cepat, jika record yang dicari langsung berada pada angka hash lokasi penyimpanannya. Akan tetapi pada kenyataannya sering sekali ditemukan hash table yang record-recordnya mempunyai angka hash yang sama (bertabrakan). Pemetaan hash function yang digunakan bukanlah pemetaan satusatu, (antara dua record yang tidak sama dapat dibangkitkan angka hash yang sama) maka dapat terjadi bentrokan (collision) dalam penempatan suatu data record. Untuk mengatasi hal ini, maka perlu diterapkan kebijakan resolusi bentrokan (collision resolution policy) untuk menentukan lokasi record dalam tabel. Umumnya kebijakan resolusi bentrokan adalah dengan mencari lokasi tabel yang masih...

Stack dan Queue

Gambar
Stack Stack atau tumpukan adalah salah satu struktur data yang memiliki sistem kerja Last In First Out (LIFO), yang artinya data yang paling terakhir dimasukkan maka data tersebut adalah data yang pertama kali dikeluarkan. Operasi - operasi pada Stack 1. Push : digunakan untuk menambahkan data pada stack, dari paling atas. 2. Pop : digunakan untuk mengeluarkan data pada stack, dari paling atas 3. Top : digunakan untuk mengembalikan data teratas dari stack Notasi Infix, Postfix dan Prefix Infix yaitu operator yang berada diantara operand. contoh : 1 + 2 * 3 ( 2 - 1 ) * 3 Postfix yaitu operator yang akan ditulis setelah operand. contoh : 1 + 2 * 3 menjadi 123*+ ( 2 - 1 ) * 3 menjadi 21-* Prefix yaitu operator yang akan ditulis sebelum operand. contoh : 1 + 2 * 3 menjadi + 1 * 23 ( 2 - 1 ) * 3 menjadi - 21 * 3 Queue Queue atau urutan adalah kumpulan data dengan penambahan data hanya melalui satu sisi, yaitu belakang (tail) dan penghapusan data hanya mela...

Linked List

Gambar
Pengertian Linked List Linked list adalah struktur data linier yang terdiri dari urutan record data dimana setiap record memliki field yang menyimpan alamat/referensi dari record selanjutnya (dalam urutan) elemen data yang dihubungkan dengan link pada linked list disebut Node. Biasanya pada linked terdapat istilah head dan tail. Head merupakan posisi pertama dalam suatu linked list  Tail merupakan posisi terakhir dalam suatu linked list Ada beberapa jenis Linked List yaitu : 1. Single Linked List Single Linked List merupakan suatu linked list yang nodenya saling terhubung melalui sebuah pointer. Biasanya field pada tail menunjuk ke NULL. Single linked list hanya memiliki satu arah. 2. Double linked List Double Linked List merupakan suatu linked list yang memiliki dua variabel pointer yaitu pointer yang menunjuk ke node selanjutnya dan pointer yang menunjuk ke node sebelumnya. Head dan Tailnya menunjuk ke NULL. Double linked list memiliki dua arah/...