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
- 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
Posting Komentar