Operasi/Kunjungan Pohon Biner Pertemuan 10
Kunjungan Biner secara preorder, inorder dan postorder dari pohon dibawah adalah : X Y R S Q T W U Z P M N
Prefix, infix, dan postfix adalah suatu cara penulisan ungkapan-ungkapan yang rumit, misalnya pemakaian tanda kurung dalam operasi matematika. Prefix adalah metode penulisan dengan meletakkan operator di depan operand dan tanpa menuliskan tanda kurung. Contoh pemakaian prefix adalah +AB, – +ABC, * + AB – CD. Infix adalah cara penulisan ungkapan dengan meletakkan operator di antara dua operanddalam hal ini pemakaian tanda kurung sangat menentukan hasil operasi. Contoh pemakaian infix adalah A+B, A+B-C, (A+B)*(C-D).
Postfix adalah metode penulisan dengan menuliskan operator setelah operand dan tanpa menuliskan tanda kurung. Contoh penulisan sufix adalah AB + , AB + C – , AB + CD -*.
Salah satu contoh proses pengubahan infix menjadi postfix dari karakter: ( A + B ) / (( C – D ) * E ^ F) AB+CD-EF^*/ https://kuliahinformatika.wordpress.com/2010/02/06/stack-queue-penjelasan-beserta-contoh-metode-prefix-infix-dan-postfix/
#include<iostream.h> #include<conio.h> #include<malloc.h> #define nil NULL struct nod { struct nod *left; char data; struct nod *right; }; typedef struct nod NOD; typedef NOD POKOK;
NOD. NodBaru(char item) { NOD. n; n=(NOD. )malloc(sizeof(NOD)); if(n NOD *NodBaru(char item) { NOD *n; n=(NOD *)malloc(sizeof(NOD)); if(n != NULL) n->data=item; n->left=NULL; n->right=NULL; } return n; void BinaPokok(POKOK **T) *T=NULL;
bool PokokKosong(POKOK bool PokokKosong(POKOK *T) { return ((bool)(T==NULL)); } void TambahNod(NOD **p, char item) NOD *n; n=NodBaru(item); *p=n; void preOrder(POKOK *T) if(!PokokKosong(T)) cout<<" "<<T->data; preOrder(T->left); preOrder(T->right);
void inOrder(POKOK. T) { if( void inOrder(POKOK *T) { if(!PokokKosong(T)) inOrder(T->left); cout<<" "<<T->data; inOrder(T->right); } void postOrder(POKOK *T) postOrder(T->left); postOrder(T->right);
//Program utama int main() { POKOK //Program utama int main() { POKOK *kelapa; char buah; BinaPokok(&kelapa); TambahNod(&kelapa, buah='M'); TambahNod(&kelapa->left, buah='E'); TambahNod(&kelapa->left->right, buah='I'); TambahNod(&kelapa->right, buah='L'); TambahNod(&kelapa->right->right, buah='O'); TambahNod(&kelapa->right->right->left, buah='D'); cout<<"Tampilan secara PreOrder : "; preOrder(kelapa);
cout<<endl; cout<<"Tampilan secara InOrder : "; inOrder(kelapa); cout<<"Tampilan secara PostOrder : "; postOrder(kelapa); getch(); return 0; }
Tampilan Program M L E I O D
Latihan Seperti apa hasil program dibawah ini…???? M L E I O D B A U