Implementasi Hash Table dalam Program Java
- Hash Table
Hash Table adalah struktur data yang mengimplementasikan ADT array asosiatif (struktur yang dapat memetakan kunci/angka hash/kode hash ke nilai). Hashing adalah teknik untuk melakukan penambahan,
penghapusan, dan pencarian elemen data dalam constant average time dengan menentukan kunci dari
data tersebut dan digunakan sebuah fungsi hash untuk
menetapkan lokasi untuk kunci tersebut. Fungsi ini akan memetakan list data yang ukurannya berubah-ubah ke ukuran tetap. Dalam banyak situasi, Hash Table bekerja lebih efisien daripada pohon pencarian atau struktur tabel pencarian lainnya karena memiliki waktu pengaksesan yang cepat.
Idealnya, fungsi hash akan menetapkan setiap kunci ke kode unik, tetapi sebagian besar desain Hash Table menggunakan fungsi hash yang tidak sempurna yang dapat menyebabkan tabrakan hash di mana fungsi hash akan menghasilkan kode hash yang sama untuk lebih dari satu kunci. Tabrakan seperti itu dapat diatasi dengan menerapkan kebijakan resolusi bentrokan (collision resolution policy) yaitu dengan mencari lokasi tabel yang masih kosong pada lokasi setelah lokasi yang berbentrokan.
Hasil dari fungsi hash jauh lebih besar dari ukuran tabel sehingga perlu di modulo dengan ukuran Hash Table yaitu h = k (mod m) dimana k adalah nilai indeks/kunci dan m adalah ukuran array.
Hasil dari fungsi hash jauh lebih besar dari ukuran tabel sehingga perlu di modulo dengan ukuran Hash Table yaitu h = k (mod m) dimana k adalah nilai indeks/kunci dan m adalah ukuran array.
Komentar
Posting Komentar