TIK:
TREE
Dalam ilmu komputer, tree adalah sebuah struktur data yang secara bentuk
menyerupai sebuah pohon, yang terdiri dari serangkaian node (simpul) yang saling
berhubungan. Node-node tersebut dihubungkan oleh sebuah vektor. Setiap node
dapat memiliki 0 atau lebih node anak (child). Sebuah node yang memiliki node
anak disebut node induk (parent). Sebuah node anak hanya memiliki satu node
induk. Sesuai konvensi ilmu komputer, tree bertumbuh ke bawah, tidak seperti
pohon di dunia nyata yang tumbuh ke atas. Dengan demikian node anak akan
digambarkan berada di bawah node induknya.
Definisi Tree
Tree merupakan salah satu bentuk struktur data tidak linier yang
menggambarkan hubungan yang bersifat hierarkis (hubungan one to many) antara
elemen-elemen. Tree bisa didefinisikan sebagai kumpulan simpul/node dengan satu
elemen khusus yang disebut root. Node lainnya terbagi menjadi himpunan-
himpunan yang saling tak berhubungan satu sama lain (disebut subtree), untuk
lebih jelasnya, dibawah ini akan diuraikan istilah-istilah umum dalam tree:
Dalam mata kuliah struktur data, secara khusus akan dipelajari mengenai
pohon biner. Pohon biner adalah sebuah tree yang pada masing-masing simpulnya
hanya dapat memiliki maksimum 2 (dua) simpul anak. Tidak boleh lebih. Pada
pohon biner, umumnya kedua node anak disebut dengan posisinya, yaitu kiri
dan kanan. Pohon biner adalah bentuk graf yang terhubung yang tidak memiliki
sirkuit dan pada pohon biner selalu terdapat path atau jalur yang menghubungkan
dua simpul dalam pohon.
• Size (ukuran): jumlah total node yang terdapat pada pohon biner tersebut.
12 39 40 55 68 77
int main()
{
int search(int [],int,int);
int n,i,a[100],e,res;
cout<<"How Many Elements:";
cin>>n;
cout<<"\nEnter Elements of Array in Ascending order\n";
for(i=0;i<n;++i)
{
cin>>a[i];
}
cout<<"\nEnter element to search:";
cin>>e;
res=search(a,n,e);
if(res!=-1)
cout<<"\nElement found at position "<<res+1;
else
cout<<"\nElement is not found....!!!";
return 0;
}
Output :
Program ke 2:
#include <iostream>
#include<conio.h>
#include<stdlib.h>
#define MAX_SIZE 5
int main() {
int arr_search[MAX_SIZE], i, element;
int f = 0, r = MAX_SIZE, mid;
while (f <= r) {
mid = (f + r) / 2;
if (arr_search[mid] == element) {
cout << "\nSearch Element : " << element << " : Found : Position : " << mid + 1 <<
".\n";
break;
} else if (arr_search[mid] < element)
f = mid + 1;
else
r = mid - 1;
}
if (f > r)
cout << "\nSearch Element : " << element << " : Not Found \n";
getch();
}
Output :