Posts

AVL Tree

Image
AVL Tree adalah subtype dari BST yang dapat menyeimbangkan dirinya sendiri di mana perbedaan antara ketinggian subtree kiri dan kanan tidak boleh lebih dari satu untuk semua node. AVL Insertion Process Hampir sama dengan BST, setelah itu memnyeimbangkan AVL Tree dengan left atau right rotation. Jika ada ketidakseimbangan pada anak kiri subtree kanan, maka lakukan left-right rotation. Jika ada ketidakseimbangan pada anak kiri subtree kiri, maka lakukan right rotation. Jika ada ketidakseimbangan pada anak kanan subtree kanan, maka lakukan left rotation. Jika ada ketidakseimbangan pada anak kanan subtree kiri, maka lakukan right-left rotation. AVL Tree memeriksa ketinggian subtree kiri dan kanan dan memastikan bahwa perbedaannya tidak lebih dari 1. Perbedaan ini disebut Balance Factor. AVL Deletion Process Ada 2 kasus yang biasanya terjadi saat operasi delete, yaitu : Jika node yang akan dihapus berada pada posisi leaf atau node tanpa anak, maka dapat langsung di ...

Summary

Image
Linked list II Linked List  adalah koleksi data item yang tersusun dalam sebuah barisan secara linear, dengan penyisipan dan pemindahan dapat dilakukan dalam semua tempat Linked List tersebut. Single Linked List  adalah sebuah Linked List yang menggunakan sebuah variable pointer saja untuk menyimpan banyak data dengan metode Linked List, suatu daftar isi yang saling berhubungan. Contoh : Pada gambar diatas, data terletak pada sebuah lokasi dalam sebuah memory, tempat yang disediakan memory untuk menyimpang data disebut node, setiap node memiliki pointer yang menunjuk ke node berikutnya sehingga membentuk suatu untaian yang disebut single Linked List. Bila dalam single Linked List pointer hanya dapat bergerak ke satu arah saja, maju / mundur, kanan / kiri, sehingga pencarian datanya juga hanya satu arah saja. Single Linked List Circular  adalah Single Linked List yang pointer nextnya menunjuk pada dirinya sendiri. Jika Single Linked List tersebut terdiri dari be...

Binary Search Tree

Image
Binary Search Tree Kemarin kita sudah membahas mengenai Hash Table, Hashing dan Binary Tree. Pada hari ini, saya akan menjelaskan tentang Binary Search Tree. Binary Search Tree adalahadalah Binary Tree dengan : Subtree kiri dari sebuah node hanya berisi node dengan kunci kurang dari kunci node. Subtree kanan dari sebuah node hanya berisi node dengan kunci lebih besar dari kunci node. Subtree kiri dan kanan masing-masing juga harus berupa pohon pencarian biner. Properti di atas dariBST menyediakan pemesanan antar tombol sehingga operasi seperti pencarian, minimum dan maksimum dapat dilakukan dengan cepat. Jika tidak ada pemesanan, maka BST mungkin harus membandingkan setiap kunci untuk mencari kunci yang diberikan. BST mempunya Basic Operations yang terdiri dari : Search - untuk mencari elemen dalam tree Insert - untuk memasukkan data ke dalam tree Pre-order Traversal - melintasi tree dengan cara pre-order In-order Traversal - melintasi tree dengan cara in...

Hashing Table & Binary Tree

Image
Kemarin kita sudah membahas mengenai Stack & Queue. Hari ini saya akan membahas mengenai hashing table dan binary tree. Binary Tree adalah data struktur berpohon di mana setiap simpul memiliki paling banyak 2 anak, yang disebut kiri dan kanan. Binary tree diimplementasikan terutama menggunakan link. Sebuah Tree diwakili oleh pointer ke simpul paling atas di Tree. Jika Tree tersebut kosong, maka nilai sebuah Root kosong. Binary Tree terdapat beberapa node seperti : Data Pointer ke anak kiri Pointer ke anak kanan Binary Tree dapat dilalui dengan 2 cara. Yang pertama adalah Depth First Traversal dan yang kedua adalah Breadth First Traversal. Depth First Traversal terdiri dari : Inorder (Kiri-Root-Kanan) Preorder (Root-Kiri-Kanan)  Postorder (Kiri-Kanan-Root). Breadth First Traversal terdiri dari : Level order Traversal. Properti dari Binary Tree : Angka maksimum node ada di level '1' = 2 1-1 . Angka maksimum node adalah = 2 h + 1 - 1. h adalah ...

Stack and Queue

Image
Stack and Queue in Data Structures Halo pada hari ini, saya akan menjelaskan mengenai Stack and Queue dalam Data Structure! Stack  adalah struktur data linear di mana elemen dapat dimasukkan dan dihapus hanya dari 1 sisi daftar, yang disebut bagian atas. Tumpukan elemen Stack mengikuti prinsip LIFO (Last In First Out), yaitu elemen yang dimasukkan terakhir adalah elemen yang pertama keluar. Proses memasukkan elemen ke sebuah stack disebut operasi push , dan proses penghapusan elemen dari stack disebut operasi pop . Dalam stack, kita selalu melacak elemen terakhir yang ada dalam daftar dengan pointer yang disebut top.  Ilustrasi cara kerja dari stack seperti di bawah ini:  Queue  seperti bahasa indonesianya yaitu antri, queue adalah struktur data linear di mana elemen yang disisipkan hanya dari 1 sisi daftar yang disebut belakang, dan elemen dapat dihapus hanya dari sisi lain yang disebut depan. Struktur data queue mengikuti prinsip FIFO (First In F...

Linked List

Image
Linked list II Halo, pada hari ini, saya aka meringkas materi mengenai Linked List II yang terdiri dari : Single Linked List Circular Double Linked List Double Linked List Circular Linked List adalah koleksi data item yang tersusun dalam sebuah barisan secara linear, dengan penyisipan dan pemindahan dapat dilakukan dalam semua tempat Linked List tersebut. Single Linked List adalah sebuah Linked List yang menggunakan sebuah variable pointer saja untuk menyimpan banyak data dengan metode Linked List, suatu daftar isi yang saling berhubungan. Contoh : Pada gambar diatas, data terletak pada sebuah lokasi dalam sebuah memory, tempat yang disediakan memory untuk menyimpang data disebut node, setiap node memiliki pointer yang menunjuk ke node berikutnya sehingga membentuk suatu untaian yang disebut single Linked List. Bila dalam single Linked List pointer hanya dapat bergerak ke satu arah saja, maju / mundur, kanan / kiri, sehingga pencarian datanya juga hanya satu arah saj...