Contoh Program C++ : Program Tree C++ Sederhana - KaAzima

Azim: Life, Blog, Linux ER

Menulis Lagi... Lagi Menulis.

Contoh Program C++ : Program Tree C++ Sederhana

Contoh Program C++ : Program Tree C++ Sederhana | Contoh program yang satu ini, menjadi salah satu tugas praktikum pemrograman Struktur Data yang akan diadakan hari sabtu: BESOK!

Tree atau dalam bahasa Indonesia disebut sebagai pohon, merupakan salah satu jenis urutan sebagaimana STACK, LINKED LIST (Senarai Berkait) dan QUEUE. Perbedaan Tree daripada ketiga cara pengurutan yang disebut diatas adalah bahwa Tree (pohon) mempunyai struktur pengurutan yang tidak linier.

Struktur Tree terdiri dari node bertingkat yang mempunyai peran sesuai tingkatan masing-masing. Tingkatan itu adalah: Parent (orang tua), Child (anak). Dalam program Tree C++, dikenal beberapa istilah umum berikut ini:

1. Predecessor : Node yang berada diatas Successor atau sebuah node tertentu (Parent).
2. Successor : Node yang berada dibawah Predecessor atau node tertentu (Child).
3. Parent : Predecessor diatas sebuah node atau diatas Successor.
4. Child : Successor dibawah sebuah node atau dibawah Predecessor.
5. Root (Akar) : Node tanpa Predecessor yang berada paling ujung atas.
6. Leaf (Daun) : Node tanpa Successor yang berada paling ujung bawah.
7. Sibling (Saudara Kandung) : Node-node yang mempunyai Parent yang sama.

Sementara itu, pengurutan data menggunakan metode Tree C++, memiliki beberapa istilah/cara yang berbeda. Yaitu:

1. PreOrder : Cetak node - Kunjungi node kiri - Kunjungi node kanan.
2. InOrder : Kunjungi node kiri - Cetak node - Kunjungi node kanan.
3. PostOrder : Kunjungi node kiri - Kunjungi node kanan - Cetak node.

Dibawah ini, Contoh Program C++ : Program Tree C++ Sederhana yang menunjukkan pengurutan dengan metode Tree atau Pohon:

#include<stdio.h>
typedef struct node{
char data;
node *kiri;
node *kanan;
};

node *akar=NULL;
addNode(node **akar, char isi) {
if((*akar)==NULL){
node *baru;
baru= new node;
baru->data = isi;
baru->kiri = NULL;
baru->kanan = NULL;
(*akar)=baru;
}
}

preOrder(node *akar) {
if(akar !=NULL) {
printf("%c ", akar->data);
preOrder(akar->kiri);
preOrder(akar->kanan);
}
}

inOrder(node *akar) {
if(akar !=NULL) {
inOrder(akar->kiri);
printf("%c ", akar->data);
inOrder(akar->kanan);
}
}

postOrder(node *akar) {
if(akar !=NULL) {
postOrder(akar->kiri);
postOrder(akar->kanan);
printf("%c ", akar->data);
}
}

main(){
char abjad;
printf("\n\n\tPosisi Awal Tree:\n\n");
printf("\t       R\n\t      / \\\n\t     A   E\n\t    /\n\t   S\n\t  / \\\n\t I   T\n\n");
addNode(&akar,abjad='R');
addNode(&akar->kiri,abjad='A');
addNode(&akar->kanan,abjad='E');
addNode(&akar->kiri->kiri,abjad='S');
addNode(&akar->kiri->kiri->kiri,abjad='I');
addNode(&akar->kiri->kiri->kanan,abjad='T');
printf("Tampilan PreOrder  : ");
preOrder(akar);
printf("\nTampilan InOrder   : ");
inOrder(akar);
printf("\nTampilan PostOrder : ");
postOrder(akar);
}

Hasil run dari listing program diatas, akan menghasilkan tampilan:

Contoh Program C++ : Program Tree C++ Sederhana
Contoh Program C++ : Program Tree C++ Sederhana

1 Komentar untuk "Contoh Program C++ : Program Tree C++ Sederhana"

Tinggalkan opini Anda, untuk turut dalam postingan ini [komentar dimoderasi dulu].

Back To Top