Posts

AVL Tree dan B-Tree

Image
A. AVL Tree AVL adalah balanced binary search tree yang memiliki perbedaan jumlah node pada subtree kiri dan subtree kanannya maksimal satu.                                              Untuk menentukan Height dan Balance Factor, gunakan cara berikut : Height : 1. Jika node (root) tidak memiliki subtree heightnya = 0. 2. Jika node adalah leaf, height = 1. 3. Jika internal node, maka height = height tertinggi dari anak + 1. Balance Factor : 1. Selisih height antara anak kiri dan kanan. Jika tidak memiliki anak dianggap 0. Insertion Insert suatu node pada AVL Tree sama dengan insert node pada Binary Search Tree. Node baru diposisikan sebagai leaf. Setelah memasukkan node baru, maka harus dilakukan penyeimbangan kembali pada path dari node yang baru di-insert atau path terdalam. Namun biasanya, path terdalam adalah path dari node yang baru saja di-insert. ...

Summary + Coding

Image
LINKED LIST      Linked List atau Senarai Berantai adalah data berbentuk urutan di mana setiap record data memiliki referensi ke data berikutnya. Elemen data yang dihubungkan dengan link pada linked list disebut Node. Dalam Linked List, terdapat istilah head dan tail. Head merupakan elemen yang berada pada posisi pertama. Tail merupakan elemen yang berada pada posisi terakhir. A. SINGLE LINKED LIST      Single Linked List hanya memiliki satu pointer saja. Pointer tersebut menunjuk ke node selanjutnya, dan field pada tail menunjuk ke NULL. Contoh : Contoh Coding : struct Siswa{   char Nama[30];   int Umur;   struct Siswa *next; }*head, *tail; B. DOUBLE LINKED LIST      Double Linked List memiliki dua pointer, yaitu pointer yang menunjuk ke node selanjutnya dan pointer yang menunjuk ke node sebelumnya. Pada Double Linked List, setiap head dan tailnya menunjuk ke NULL. Contoh : Contoh Coding : struct S...

Binary Search Tree

A. BINARY SEARCH TREE      Binary Search Tree adalah tree yang terurut (ordered Binary Tree) yang memiliki kelebihan bila dibanding dengan struktur data lain. Binary Search Tree juga sering disebut dengan Sorted Binary Tree yang berfungsi untuk menyimpan informasi nama atau bilangan yang disimpan di dalam memory.      Ciri-ciri Binary Search Tree : 1. Setiap node mempunyai value dan tidak ada value yang double. 2. Value yang ada di kiri tree lebih kecil dari rootnya. 3. Value yang ada di kanan tree lebih besar dari rootnya. 4. Kiri dan kanan tree bisa menjadi root lagi atau bisa mempunyai child. 5. Memiliki sifat rekursif.      Binary Search Tree memiliki tiga operasi dasar : 1. Find(x) : menemukan value x di dalam Binary Search Tree (Search) 2. Insert(x) : memasukkan value baru x ke Binary Search Tree (Push) 3. Remove(x) : menghapus key x dari Binary Search Tree (Delete) B....

Hashing and Hash Tables, Trees & Binary Tree

A. HASHING      Hashing merupakan metode yang digunakan untuk menyimpan data dalam sebuah array agar dapat menyimpan data, mencari data, menambah data, dan menghapus data dengan cepat. Pengertian hashing adalah transformasi aritmatik sebuah string dari karakter menjadi nilai yang merepresentasikan string aslinya. Dalam hashing, yang dilakukan adalah menghitung posisi record yang dicari dalam array, bukan membandingkan record dengan isi pada array.      Hash Function atau Fungsi Hash merupakan fungsi yang mengembalikan nilai atau kunci. Hash Table atau Tabel Hash merupakan array yang digunakan. B. HASH TABLE      Hash Table merupakan sebuah struktur data, terdiri atas sebuah tabel dan fungsi. Fungsi pada Hash Table bertujuan untuk memetakan nilai kunci yang unik untuk setiap record (baris) menjadi angka (hash) lokasi record tersebut dalam sebuah tabel.      Kelebihan dari Hash Table adalah waktu mengakse...