Kamis, 12 Maret 2020

HASH TABLE AND BINARY TREE

Hash Table and Binary Tree

I. Hashtable
Merupakan sebuah struktur data yang digunakan untuk menyimpan key data dan value (seperti di kamus). Terdiri atas sebuah tabel dan fungsi yang bertujuan memetakan nilai kunci yang unik untuk setiap record (baris) menjadi angka (hash) lokasi record tersebut dalam sebuah tabel.
Keunggulan hashtable adalah waktu aksesnya yang cepat, jika record yang dicari langsung berada pada angka hash lokasinya. 

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.
* getIterator: Mengembalikan iterator, yang memeriksa nilai satu demi satu

Contoh coding:

typedef struct hashtbl {
hash_size size;
struct hashnode_s **nodes;
hash_size (*hashfunc) (const char *);
}HASHTBL;

struct hash_node_s{
char *key;
void *data;
struct hashnode_s *next;
};

Penggunaan hashtable diantaranya: mengindex database, caching, program comparator, error checking, dan password authenticator.

II. Binary Tree
adalah tree dengan syarat tiap nodenya hanya boleh memiliki maksimal dua subtree dan kedua subtree tersebut harus terpisah. Tiap node dalam binary tree hanya boleh memiliki paling banyak dua anak simpul. Pohon biner adalah sebuah pohon dalam struktur data yang sifatnya hirarkis (hubungan satu ke banyak). 



Binary tree dapat juga disimpan sebagai struktur data implisit dalam array, dan jika pohon tersebut merupakan sebuah pohon bner lengkap, metode ini tidak boros tempat.

Sumber: 




Tidak ada komentar:

Posting Komentar

AVL Tree adalah balanced binary search tree dimana ia memiliki perbedaan pada jumlah node pada subtree kiri dan subtree kanannya palin...