Hashing-003

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



Trees dan Binary Tree


Konsep Tree

Di dalam Tree, node teratas diberi nama root, garis yang menghubungkan praent dan child disebut edge, node yang tidak memiliki anak disebut leaf, node - node yang memiliki parent yang sama disebut sibling.

Konsep Binary Tree

Di dalam Binary Tree, setiap node hanya memiliki maksimal 2 anak, di mana anak - anak tersebut disebut left child dan right child. Node yang tidak memiliki anak disebut leaf.
https://www.geeksforgeeks.org/wp-content/
uploads/binary-tree-to-DLL.png

Jenis - Jenis Binary Tree

- Perfect Binary Tree


- Complete Binary Tree

- Skewed Binary Tree

- Balanced Binary Tree

Threaded Binary Tree

Threaded Binary Tree mirip dengan Binary Tree hanya perbedaan nya Threaded Binary Tree mentimpan pointer NULL.


References:

Komentar

Postingan populer dari blog ini

AVL-BTREE

Summary