HASHING TABLES AND BINARY TREE



HASHING TABLES AND BINARY TREE


What is hash table?
Hash table adalah sebuah struktur data yang terdiri atas sebuah table dan fungsi yang bertujuan untuk memetakan/menyimpan nilai yang unik/kunci untuk setiap record/baris menjadi dalam bentuk angka/hash. Tujuan dari hash table adalah untuk mempercepat pencarian kembali dari banyak data yang disimpan. Hash table menggunakan suatu teknik penyimpanan sehingga waktu yang dibutuhkan untuk penambahan data (insertions), penghapusan data (deletions), dan pencarian data (searching).
Nah dari hash table ini lah bisa ada yang namanya hashing.. ,Hashing itu apa? Hashing sendiri merupakan sebuah kegiatan enkripsi data menjadi bentuk string yang biasanya terdiri dari huruf dan angka yang telah teracak.Bisa di bilang kunci dari hashing adalah hash table karena semua string original.
Dalam blockchain hashing dan hash table adalah hal yang paling mendasar karena hash menjaga  keamanan data dalam proses blockchain yang begitu cepat. untuk lebih lengkapnya mengenai blockchain silahkan teman-teman baca di https://selembardigital.com/apa-itu-hashing-di-bawah-tudung-blockchain/


Ini adalah sebuah contoh hash table dengan ukuran n = 20, dalam ukuran 20 berarti terdapat 20 ruang/posisi yang di sebut slot. Hash table pada mulanya tidak berisi / kosong namun saat kita isi dengan key akan ada isinya dan akan dihitung dengan rumus   KEY  % Table Size (Jumlah Slot).

Jika kita lihat dalam hashing bisa terjadi collision karena index yang mau digunakan sudah terpakai.Dalam kasus ini kita bisa mencari index kosong dengan melihat ke cell berikutnya sampai kita menemukan yang kosong. Teknik ini dinamakan LINEAR PROBING.





Berikut adalah contoh operasi dalam hash table :



Tree dan Binary Tree

             Tree atau pohon merupakan struktur data yang tidak linear yang digunakan untuk mempresentasikan data yang bersifat hirarki antara elemen-elemennya. Definisi tree yaitu kumpulan elemen yang salah satu elemennya disebut root (akar) dan elemen yang lain disebut simpul ( node) yang terpecah menjadi sejumlah kumpulan yang tidak saling berhubungan satu sama lain yang disebut sub-tree atau cabang. Salah satu jenis tree yang akan kita bahas saat ini adalah binary tree. 
Tree Example


Binary Tree Example

             
              Apa itu 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. Ada beberapa jenis binary tree :
            
  • Full Binary Tree
          Full binary tree adalah binary tree yang tiap node-nya (kecuali leaf) memiliki dua child dan tiap subtree harus mempunyai panjang path yang sama.

Full Binary Tree

  • Complete Binary Tree
           Complete binary t ree adalah binary tree yang mirip dengan full binary tree, namun tiap subtree boleh memiliki panjang path yang berbeda. Node kecuali leaf memiliki 0 atau 2 child.
Complete Binary Tree
  • Skewed Binary Tree 
           Skewed binary tree adalh binary tree yang semua node nya (kecuali leaf) hanya memiliki satu child.
Skewed Binary Tree

  • Binary Search Tree
          Binary search tree  adalah jenis pohon terurut yang digunakan untuk menyimpan data sehingga memudahkan pencarian kembali data tersebut.



Binary Search Tree






Sumber pembelajaran :


Comments

Popular posts from this blog