Contoh Pemrograman Binary Tree in C++ - Pohon biner adalah struktur data dasar yang digunakan dalam ilmu komputer . Pohon biner adalah struktur data yang berguna untuk menyimpan data diurutkan cepat dan cepat mengambil data yang tersimpan . 

Sebuah pohon biner terdiri dari node induk , atau daun , yang masing-masing menyimpan data dan juga link ke hingga dua node anak lainnya ( daun ) yang dapat divisualisasikan spasial sebagai berikut node pertama dengan satu ditempatkan ke kiri dan dengan satu ditempatkan ke kanan . 

Ini adalah hubungan antara daun terkait dan daun menghubungkan , juga dikenal sebagai node induk , yang membuat pohon biner struktur data yang efisien . Ini adalah daun di sebelah kiri yang memiliki nilai kunci yang lebih rendah (yaitu , nilai yang digunakan untuk mencari daun di pohon ) , dan itu adalah daun di sebelah kanan yang memiliki nilai kunci yang sama atau lebih besar . Akibatnya , daun di sebelah kiri terjauh dari pohon memiliki nilai terendah , sedangkan daun di sebelah kanan pohon memiliki nilai terbesar. Lebih penting lagi , karena setiap daun terhubung ke dua daun lain , itu adalah awal yang baru , lebih kecil , pohon biner . Karena sifat ini , adalah mungkin untuk dengan mudah mengakses dan memasukkan data dalam sebuah pohon biner menggunakan pencarian dan memasukkan fungsi rekursif meminta daun berturut-turut .

Contoh Pemrograman Binary Search Tree in C++
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <cstdlib>
typedef struct tree{
        int data;
        tree *left;
        tree *right;
        };
        tree *pohon;
       
void init(tree **pohon){
     pohon=NULL;
     }
   
int isempty(){
     if(pohon==NULL){
     return 1;
     }
     else
     return 0;
     }
   
void tambah(tree **root, int databaru){
     if((*root) == NULL){
     tree *baru;
     baru = new tree;
     baru->data = databaru;
     baru->left = NULL;
     baru->right = NULL;
     (*root)= baru;
     (*root)->left= NULL;
     (*root)->right= NULL;
     }
     else if(databaru <(*root)->data){
          tambah(&(*root)->left,databaru);}
     else if(databaru >(*root)->data){
          tambah(&(*root)->right,databaru);}
     else if(databaru ==(*root)->data){
          printf("Data sudah ada!");}
}
void preorder (tree *root){
     if(root!=NULL){
                    printf("%d", root->data);
                    preorder(root->left);
                    preorder (root->right);
                    }
     }
   
void inorder (tree *root){
     if(root!=NULL){
                    inorder(root->left);
                    printf("%d", root->data);
                    inorder (root->right);
                    }
     }
   
void postorder (tree *root){
     if(root!=NULL){
                    postorder(root->left);
                    postorder (root->right);
                    printf("%d", root->data);
                    }
     }
int main(){
    tambah(&pohon,2);
    tambah(&pohon,4);
    tambah(&pohon,1);
    printf("Pre Order\n");
    preorder(pohon);
    printf("\n");
    printf("In Order\n");
    inorder(pohon);
    printf("\n");
    printf("Post Order\n");
    postorder(pohon);
    getch();
}
Author image
About the Author :

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum.

Connect with him on :