TREE STRUCTURE
pengertian
Dalam ilmu komputer, tree adalah sebuah struktur data yang secara bentuk menyerupai sebuah pohon, yang terdiri dari serangkaian node (simpul) yang saling berhubungan.
contoh : tree
program nya
#include "iostream.h"
#include "string.h"
#include "conio.h"
struct simpulpohon
{
simpulpohon *induk;
simpulpohon *kiri;
simpulpohon *kanan;
char data;
};
class pohonbiner
{
private:
simpulpohon *akar;
int tambah(simpulpohon *orangtua, simpulpohon *baru);
void tampil(simpulpohon *simpul);
public:
pohonbiner();
int tambah(char data);
void tampil();
};
void main()
{
clrscr();
char data[] = "aku cakepz ";
pohonbiner pohon;
for (int i = 0; i < strlen(data); i++)
pohon.tambah(data[i]);
cout<<"Data ke Pohon Biner : "<<endl;
for (int x = 0; x < strlen(data); x++)
cout<<data[x];
cout<<endl;
cout<<endl;
cout<<"Hasil Pohon Biner :"<<endl;
pohon.tampil();
getch();
}
pohonbiner::pohonbiner()
{
akar = NULL;
}
int pohonbiner::tambah(char data)
{
simpulpohon *simpul;
simpul= new simpulpohon;
simpul->kiri = NULL;
simpul->kanan = NULL;
simpul->induk = NULL;
simpul->data = data;
if (akar == NULL)
{
akar = simpul;
return(1);
}
else
return(tambah(akar,simpul));
}
int pohonbiner::tambah(simpulpohon *orangtua, simpulpohon *baru)
{
if (baru->data ==orangtua->data)
{
delete baru;
return(0);
}
else if (baru->data < orangtua->data)
{
if (!orangtua->kiri)
{
orangtua->kiri = baru;
baru->induk = orangtua;
}
else
return(tambah(orangtua->kiri,baru));
}
else
{
if (!orangtua->kanan)
{
orangtua->kanan = baru;
baru->induk = orangtua;
}
else
return(tambah(orangtua->kanan,baru));
}
return(1);
}
void pohonbiner::tampil()
{
tampil(akar);
cout<<endl;
}
void pohonbiner::tampil(simpulpohon *simpul)
{
if (simpul)
{
if (simpul->kiri) tampil(simpul->kiri);
cout<<simpul->data;
if (simpul->kanan) tampil(simpul->kanan);
}
}
Dalam ilmu komputer, tree adalah sebuah struktur data yang secara bentuk menyerupai sebuah pohon, yang terdiri dari serangkaian node (simpul) yang saling berhubungan.
contoh : tree
program nya
#include "iostream.h"
#include "string.h"
#include "conio.h"
struct simpulpohon
{
simpulpohon *induk;
simpulpohon *kiri;
simpulpohon *kanan;
char data;
};
class pohonbiner
{
private:
simpulpohon *akar;
int tambah(simpulpohon *orangtua, simpulpohon *baru);
void tampil(simpulpohon *simpul);
public:
pohonbiner();
int tambah(char data);
void tampil();
};
void main()
{
clrscr();
char data[] = "aku cakepz ";
pohonbiner pohon;
for (int i = 0; i < strlen(data); i++)
pohon.tambah(data[i]);
cout<<"Data ke Pohon Biner : "<<endl;
for (int x = 0; x < strlen(data); x++)
cout<<data[x];
cout<<endl;
cout<<endl;
cout<<"Hasil Pohon Biner :"<<endl;
pohon.tampil();
getch();
}
pohonbiner::pohonbiner()
{
akar = NULL;
}
int pohonbiner::tambah(char data)
{
simpulpohon *simpul;
simpul= new simpulpohon;
simpul->kiri = NULL;
simpul->kanan = NULL;
simpul->induk = NULL;
simpul->data = data;
if (akar == NULL)
{
akar = simpul;
return(1);
}
else
return(tambah(akar,simpul));
}
int pohonbiner::tambah(simpulpohon *orangtua, simpulpohon *baru)
{
if (baru->data ==orangtua->data)
{
delete baru;
return(0);
}
else if (baru->data < orangtua->data)
{
if (!orangtua->kiri)
{
orangtua->kiri = baru;
baru->induk = orangtua;
}
else
return(tambah(orangtua->kiri,baru));
}
else
{
if (!orangtua->kanan)
{
orangtua->kanan = baru;
baru->induk = orangtua;
}
else
return(tambah(orangtua->kanan,baru));
}
return(1);
}
void pohonbiner::tampil()
{
tampil(akar);
cout<<endl;
}
void pohonbiner::tampil(simpulpohon *simpul)
{
if (simpul)
{
if (simpul->kiri) tampil(simpul->kiri);
cout<<simpul->data;
if (simpul->kanan) tampil(simpul->kanan);
}
}

Komentar
Posting Komentar