Tuesday, March 10, 2020

Hashing and binary tree

Hashing

Hashing adalah merubah sebuat string ke dalam bentuk aritmatik yang merepresentasikan string tersebut. Hashing memasukkan bentuk aritmatik tersebut sebagai key dan memasukkannya ke dalam hash table

ada beberapa cara mendapatkan key yaitu:
1. mid-square
2. division
3. folding
4. digit extraction
5. rotating hash

jika ada beberapa string yang masuk ke dalam 1 array yang sama disebut dengan collision. Collision dapat di selesaikan dengan beberapa cara yaitu:
1. Linear Probing -> memasukkan string yang akan di masukkan ke dalam array yang sudah ada isinya tersebut ke array kosong terdekat.
2. Chaining -> tetap memasukkan string tersebut ke dalam srray yang sama dan menghubungkannya dengan linked list

Hashing digunakan dalam cryptographic untuk memperkecil output yang di keluarkan dan membuat transaksi menjadi aman dan tidak dapat di artikan oleh orang lain selain program itu sendiri.


Binary Tree

node yang paling atas disebut dengan Root

node yang dibuat dengan struct akan seperti ini
struct node {
  int data;
  struct node *left;
  struct node *right;
  struct node *parent;
};
struct node *root = NULL;


jika suatu node tidak memiliki child pointernya diisikan NULL

No comments:

Post a Comment