Postingan

Red-Black-Tree

Gambar
Red Black Tree Red Black Tree merupakan salah satu bagian dari Binary Search Tree (BST). Berbedanya tree ini untuk setiap node memiliki warna merah atau hitam. Di dalam Red Black Tree terdapat beberapa peraturan: - root selelau memiliki warna hitam. - node berwarna merah tidak boleh saling bertemu, seperti antara parent node dan child node. - node NULL dianggap berwarna hitam. https://www.geeksforgeeks.org/wp-content/uploads/RedBlackTree.png Insertion di dalam Red Black Tree tidak jauh berbeda dengan BST, tetapi dengan beberapa aturan yang berbeda, seperti: node child yang berwarna merah dan node paremt-nya berwarna merah, untuk melakukan balance-nya dilihat terlebih dahulu node uncle dari node child. node uncle tersebut merupakan node child sisi sebelah dari node grand parent. Dilihat terlebih dahulu node uncle memiliki warna apa. Jika node uncle memiliki warna merah. Untuk melukan balance hanya perlu mengubah warna node parent dan uncle menjadi hit

AVL-BTREE

Gambar
AVL Tree and B-Tree AVL Tree AVL Tree  merupakan bagian dari Binary Tree Search  ( BST ), di mana AVL Tree memiliki depth untuk subtree sebelah kiri dan kanan memiliki perbedaan depth yaitu lebih kurang sama dengan satu.  Sehingga  AVL Tree  memiliki depth yang lebih stabil dibandingkan  Binary Search Tree. https://media.geeksforgeeks.org/wp-content/cdn-uploads/AVL-Tree1.jpg Untuk mempertahankan keseimbangannya AVL Tree memiliki method untuk menyeimbangkan tree, method ini disebut rotation . Method rotation ini memiliki 4 macam, yaitu 1. Right Rotation                    5                                                          2                   /                                                         /     \                 2                ------------------>              1        5                /                     Right Rotate              1 2. Left Rotation                     5                                             

Summary

Gambar
Linked List Linked List merupakan data struktur linear, di mana memeory  penyimpanan untuk tiap data tidak berdekatan posisinya.Linked List terdiri dari node - node yang berisi data - data. Di dalam Linked List dapat dilakukan insertion dan deletion di posisi manapun. Linked List sudah sangat membantu menyelesaikan masalah yang pernah terjadi, yaitu kebutuhan penyimpanan data yang tidak dapat diprediksi. Linked List terdapat 2 tipe, yaitu 1. Single Linked List Di dalam Single Linked List hanya dapat satu arah, yaitu dari kiri ke kanan, dengan menggunakan pointer yang umunya diberi nama "next", dan terdapat pointer "head" sebagai penunjuk data pada bagian depan. https://media.geeksforgeeks.org/wp-content/cdn-uploads/gq/2013/03/Linkedlist.png 2. Double Linked List Di dalam Double Linked List terdapat dua arah, yaitu dari kiri ke kanan dan arah sebaliknya, dengan menggunakan dua pointer yang umumnya diberi nama "next" untuk arah

Hashing-003

Gambar
Hashing dan Hash Table Hashing Hashing merupakan suatu teknik untuk menyimpan dan mengambil kunci dengan cepat. Dengan Hashing, string diubah menjadi suatu value yang lebih pendek atau kunci untuk menggantikan stirng. Hashing juga dikenal sebagai distributor kunci array Hash Table yang menggunakan function  Hash Function. https://www.tutorialspoint.com/data_structures_ algorithms/images/hash_function.jpg Hash Table Hash Table merupakan table / array tempat menyimpan string. Index dari Hash Table merupakan kunci dari Hashing yang sudah mengandung string. Hash Function Terdapat banyak cara untuk mengubah string ke kunci. Berikut meupakan cara penting untuk membuat Hash Function. - Mid - square - Division - Folding - Digit Extraction - Rotating hash Collision Collision merupakan suatu peristiwa di mana kunci baru, menempati tempat yang sudah terisi dengan kunci sebelumnya. Terdapat cara untuk mengatasi Collision, yaitu: -  Linear probing - Chaining

stack-queue-session-3

Gambar
Stack Stack merupakan struktur data linear yang mengikuti prinsip LIFO (Last In First Out), yaitu datang terakhir, keluar pertama.   https://media.geeksforgeeks.org/ wp-content/uploads/ geek-stack-1.png Dalam stack, elemen teratas / terkahir, selalu ditunjuk dengan pointer, yang biasanya dinamakan "top". Di dalam stack juga, terdapat beberapa operasi yang digunakan: 1. push(), untuk menambah elemen data. 2. pop(), untuk menghapus elemen data. 3. top(), untuk mengambil data teratas. Prefix, Infix, Postfix Notation Prefix merupakan di mana sebuah operator berada di depan operand (operator operand1 operand2). Contoh: + 2 3 * 10 + 5 7 Infix merupakan di mana sebuah operator berada di tengah operand (operand1 operator operand2). Contoh: 5 - 3 10 * 7 - 3 Postfix merupakan di mana sebuah operator berada di belakang operand (operand1 operand2 operator). Contoh: 8 2 / 10 5 - 5 / Queue Queue merupakan struktur dat