HASH TABLE & BINARY TREE
A. Hashing
adalah suatu teknik yang digunakan untuk menyimpan dan menggunakan kembali kunci kunci dengan cara yang cepat.
-Dalam hashing, suatu string karakter dapat diubah menjadi panjang nilai yang lebih pendek atau kunci yang mewakili string yang asli.
- Hashing dapat digunakan sebagai index dan mengembaliken barang dalam bentuk database karena lebih cepat untuk mencari barang menggunakan kunci hashed dari pada mencari nilai aslinya.
- Hashing dapat juga diartikan sebagai konsep mendistribusikan kunci-kunci dalam suatu array yang disebut hash table dengan menggunakan fungsi tertentu yang disebut hash function.
Hash Function
Sebuah hash function adalah sebuah fungsi yang bisa digunakan untuk memetakan sebuah data set dari ukuran yang berubah-ubah ke sebuah data set dari ukuran yang pasti, yang jatuh ke hash table. Nilai yang dikembalikan oleh sebuah hash function disebut hash values, hash codes, hash sums, atau hanya hashes.
Ciri-ciri hash function yang baik:
- Mudah untuk memetakan data, harus mudah untuk dipetakan dan harus tidak menjadi algoritme sendiri.
- Distribusi yang seragam, harus memberikan distribusi yang seragam terhadap hash table dan tidak menghasilkan pengelompokan.
- Sedikit tabrakan, tabrakan terjadi ketika sepasang elemen dipetakan ke hash value yang sama
Hash Table
Hash Table adalah sebuah data structure yang digunakan untuk menyimpan informasi. Informasi tersebut memiliki dua komponen utama, yaitu Key dan Value. Hash table menggunakan hash function untuk mengcompute sebuah index ke dalam sebuah array di mana sebuah elemen akan dimasukkan atau dicarikan.
B. Binary Tree
Tidak seperti array, linked list, stack dan queues, yaitu data struktur linear, trees ini lebih seperti data struktur hierarki. Sebuah binary tree adalah sebua pohon data struktur yang setiap cabangnya memiliki setidaknya 2 anak, yang di referensi sebagai anak kiri dan anakakanan. Biasanya binary tree dipakai dengan menggunakan Links.
Representasi binary tree biasanya seperti suatu pointer dari cabang bagian paling atas sebuah pohon. Jika tree tersebut kosong, maka nilai dari akarnya adalah NULL, sebuah cabang binary tree daoat berisi data, pointer dari anak kiri dan pointer dari anak kanan.
Binary tree dapat dilalui dari kiri-akar-kanan(inorder), preorder(akar-kiri-kanan) dan postorder(kiri-kanan-akar).
Node yang terletak di paling atas tree disebut dengan root.


Stack Operations

