Senin, 16 Maret 2020

Hashing Table dan Binary Tree

  • Hash Table
➽Hash Table adalah sebuah struktur data yang terdiri atas sebuah tabel dan fungsi yang bertujuan untuk memetakan nilai kunci yang unik untuk setiap record (baris) menjadi angka (hash) lokasi record tersebut dalam sebuah tabel. Keunggulan dari struktur hash table ini adalah waktu aksesnya yang cukup cepat, jika record yang dicari langsung berada pada angka hash lokasi penyimpanannya. Akan tetapi pada kenyataannya sering sekali ditemukan hash table yang record-recordnya mempunyai angka hash yang sama (bertabrakan).





🔺operasi pada hash table:
  1. insert: diberikan sebuah key dan nilai, insert nilai dalam tabel
  2. find: diberikan sebuah key, temukan nilai yang berhubungan dengan key
  3. remove: diberikan sebuah key,temukan nilai yang berhubungan dengan key, kemudian hapus nilai tersebut
  4. getIterator: mengambalikan iterator,yang memeriksa nilai satu demi satu

➢contoh:

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

  • Binary tree

➽Binary Tree adalah tree dengan syarat bahwa tiap node hanya boleh memiliki maksimal dua subtree dan kedua subtree tersebut harus terpisah. Sesuai dengan definisi tersebut, maka tiap node dalam binary tree hanya boleh memiliki paling banyak dua child.

Complete Binary Tree
➢contoh:

struct node {
  int data;
  struct node *left;
  struct node *right;
};