Minggu, 15 Maret 2020


Hashing Table & Binary Tree

Hash Table adalah struktur data yang menyimpan data secara asosiatif. Dalam tabel hash, data disimpan dalam format array, di mana setiap nilai data memiliki nilai indeks uniknya sendiri. Akses data menjadi sangat cepat jika kita mengetahui indeks dari data yang diinginkan.Dengan demikian, itu menjadi struktur data di mana operasi penyisipan dan pencarian sangat cepat terlepas dari ukuran data. Tabel hash menggunakan array sebagai media penyimpanan dan menggunakan teknik hash untuk menghasilkan indeks di mana elemen yang akan dimasukkan atau harus ditempatkan dari.

Hashing adalah teknik untuk mengubah rentang nilai-nilai kunci menjadi rentang indeks array.
Operasi Pada Hash Tabel
Ø  insert: diberikan sebuah key dan nilai, insert nilai dalam tabel
Ø  find: diberikan sebuah key, temukan nilai yang berhubungan dengan key
Ø  remove: diberikan sebuah key,temukan nilai yang berhubungan dengan key, kemudian hapus nilai tersebut
Ø  getIterator: mengambalikan iterator,yang memeriksa nilai satu demi satu

Contoh Coding hash table:
void hashtbl_destroy(HASHTBL *hashtbl)
{
hash_size n;
struct hashnode_s *node, *oldnode;
for(n=0; n<hashtbl->size; ++n) {
node=hashtbl->nodes[n];
while(node) {
free(node->key);
oldnode=node;
node=node->next;
free(oldnode);
}
}
free(hashtbl->nodes);
free(hashtbl);
}

Binary tree adalah struktur data non linier bentuk khusus dari pohon umum (general tree) yang diilhami dari pohon yang kita lihat sehari-hari. Namun, karena ini merupakan pohon imajiner maka bentuknya bisa dibolak-balik sesuai yang kita inginkan. Berikut, contoh penggambaran pohon umum:
untuk lebih jelas lagi saya tambahkan link video tambahan untuk binary tree
https://www.youtube.com/watch?v=FoM1PpPNkRw