Binary Search Tree
Binary tree adalah sekumpulan data digambarkan berupa sebuah tree.
Berikut merupakan Binary Search Tree :
Binary tree selalu dimulai dari root. Setiap data memiliki maksimal 2 cabang (bisa 2, 1, atau tidak ada cabang sama sekali). Angka yang lebih kecil selalu berada di cabang yang kiri dan yang besar berada di cabang yang kanan.
Dalam Binary Search Tree ada function insertion, deletion, dan print sama seperti linked list.
Deklarasi Binary Search Tree :
#include<stdio.h>
#include<stdlib.h>
struct Data
{
int nilai;
Data *left , *right;
}*root = NULL; //NULL karena belum ada data dimasukan
Insertion:
struct Data* insert(struct Data *curr,int nilai) //menggunakan struct karena akan mengreturn struct
{
if(curr == NULL)
{
struct Data *temp = (struct Data*)malloc(sizeof(struct Data));
temp->nilai = nilai;
temp->left = temp->right = NULL;
curr = temp;
}
else
{
if(curr->nilai > nilai)
{
curr->left = insertNilai(curr->left,nilai);
}
else
{
curr->right = insertNilai(curr->right,nilai);
}
}
return curr;
}
int nilai;
Data *left , *right;
}*root = NULL; //NULL karena belum ada data dimasukan
Insertion:
struct Data* insert(struct Data *curr,int nilai) //menggunakan struct karena akan mengreturn struct
{
if(curr == NULL)
{
struct Data *temp = (struct Data*)malloc(sizeof(struct Data));
temp->nilai = nilai;
temp->left = temp->right = NULL;
curr = temp;
}
else
{
if(curr->nilai > nilai)
{
curr->left = insertNilai(curr->left,nilai);
}
else
{
curr->right = insertNilai(curr->right,nilai);
}
}
return curr;
}
Tidak ada komentar:
Posting Komentar