Pengertian singkat Binary Tree
Oke pertemuan ini gua akan menjelaskan sebagian
kecil tentang binary tree. Pasti penasarankan? Hehe
Oke, Binary tree tu apasi ?
Binary tree
adalah sebuah pohon
struktur data dimana setiap simpul memiliki paling banyak 2 anak, secara khusus
anaknya dinamakan dengan kiri dan kanan. Dan binary tree sendiri ada 3 jenis
yaitu : Full Binary Tree, Complete Binary Tree, Skewed Binary Tree
1. Full binary tree
Adalah binary tree yang tiap nodenya
(kecuali leaf) memiliki dua anak dan tiap subtree harus mempunyai Panjang path
yang sama.
2. Complete Binary Tree
Mirip dengan Full Binary Tree, namun
tiap subtree boleh memiliki panjang path
yang berbeda. Node kecuali leaf memiliki 0 atau 2 anak.
3. Skewed Binary Tree
Adalah Binary tree yang semua
nodenya (kecuali leaf) hanya memiliki satu anak.
Oke kita lanjut ke Binary search
tree
BINARY SEARCH TREE
Merupakan suatu konsep penyimpanan
data dimana data disimpan melalui tree yang setiap node memiliki maksimal 2
anak node.
Aturan di Binary Search Tree
1. Setiap anak node sebelah kiri
harus lebih kecil nilainya daripada root nodenya.
2. Setiap anak node sebelah kanan
harus lebih besar nilainya daripada root nodenya
Dan berikut insert dari binary
search tree :
Berikut programnya di bahasa c
#include<stdio.h>
#include<stdlib.h>
typedef struct BST
{
int
data;
struct
BST *left;
struct
BST *right;
}node;
node *create();
void insert(node *,node *);
void preorder(node *);
int main()
{
char
ch;
node
*root=NULL,*temp;
do
{
temp=create();
if(root==NULL)
root=temp;
else
insert(root,temp);
printf("nDo
you want to enter more(y/n)?");
getchar();
scanf("%c",&ch);
}while(ch=='y'|ch=='Y');
printf("nPreorder
Traversal: ");
preorder(root);
return
0;
}
node *create()
{
node
*temp;
printf("nEnter
data:");
temp=(node*)malloc(sizeof(node));
scanf("%d",&temp->data);
temp->left=temp->right=NULL;
return
temp;
}
void insert(node *root,node *temp)
{
if(temp->data<root->data)
{
if(root->left!=NULL)
insert(root->left,temp);
else
root->left=temp;
}
if(temp->data>root->data)
{
if(root->right!=NULL)
insert(root->right,temp);
else
root->right=temp;
}
}
void preorder(node *root)
{
if(root!=NULL)
{
printf("%d
",root->data);
preorder(root->left);
preorder(root->right);
}
} dan ini output nya
segitu dulu ajaa materi seputar binary tree
nanti kedepannya kita buat blog blog yang lebih yahudd ! dan semoga bisa menjadi referensi yaaakk!
referensi :
youtube.com


Komentar
Posting Komentar