Operasi pada pohon biner

Slides:



Advertisements
Presentasi serupa
Stack, Larik dan Pointer
Advertisements

ARRAY.
STRUKTUR DATA (10) tree manipulation
Double Linked List.
Queue (Antrian).
Single linked list.
STRUKTUR DATA (7) single linked list circular
STRUKTUR DATA (8.1) double linked list non circular
MODUL KULIAH STRUKTUR DATA TANGGAL REVISI TANGGAL BERLAKU KODE DOKUMEN :::::: September Session 8 Edited By Al-Bahra. L.B, S. Kom, M.
Pertemuan 2 STRUKTUR DATA LINKED LIST
LINKED LIST (List linier)
LINKED LIST Single Linked List.
LINKED LIST.
Linked List Pembuatan Simpul Awal.
Algoritma dan Struktur Data Daniel Riano Kaparang.
By : Fitroh Amaluddin & Galih Wasis W.
Struktur Data Departemen Ilmu Komputer FMIPA-IPB 2010
Pertemuan 5 STACK atau TUMPUKAN IMAM SIBRO MALISI NIM :
Linked List Entin Martiana.
//program untuk menulis ke dalam file teks kemudian menampilkan isi file ke layar #include Void main() { const int mak 80; file p; // deklarasi file.
8. FILE.
BAB 6 Binary Tree (Pohon Biner).
Implementasi Binary Tree
Tree.
Algoritma dan Struktur Data
STACK.
Tree Yuliana S.
Algoritma & Struktur Data Pointer Evangs Mailoa.
ARRAY OF STRUCT Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
STRUKTUR DATA (6) single linked list non circular
Binary Tree Rangga Juniansyah.
Single Linked List Yuliana Setiowati, S.Kom.
Alokasi Memori Yuliana Setiowati.
BY YOHANA N Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis... 1 LINKED LIST.
Penelusuran Bab 7 Pohon Biner 219.
Algoritma & Struktur Data Linked List Evangs Mailoa.
POINTER (VAR.PENUNJUK)
LINKED LIST by Yohana N.
Algoritma dan Struktur Data
Algoritma dan Struktur Data
Pertemuan ketujuh Struktur data st3telkom.ac.id
STRUCT OF ARRAY Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
Tenia Wahyuningrum, S.Kom. MT
Algoritma dan Struktur Data
POINTER.
STRUKTUR DATA tree manipulation
1 Pertemuan Tree Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.
Apakah Stack itu ?. Apakah Stack itu ? Pengertian STACK Secara sederhana diartikan dengan : sebagai tumpukan dari benda sekumpulan data yang seolah-olah.
Algoritma dan Struktur Data
Pertemuan 9 Stack dengan Linked-list
LINKED LIST by Yohana N.
QUEUE Copyright 2008 by Yohana.
REPRESENTASI FISIK LIST LINEAR
Algoritma dan Struktur Data
BAB 5 TREE (Pohon) 179.
Manipulasi Tree.
STRUKTUR DATA Tree (Struktur Pohon).
Manipulasi Tree.
Stack.
Linked List 6.3 & 7.3 NESTED LOOP.
Stack.
QUEUE (ANTRIAN) Queue atau antrian didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan elemen (Enqueue) dan pengambilan.
LINKED LIST GANDA Linked list ganda (doubly linked list) adalah linked list yang setiap simpul-nya (node) memiliki dua buah pointer, masing-masing berada.
LINKED LIST by Yohana N Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked-lis...
Linear Doubly INSERT KIRI
Linear Doubly Linked List
Variable Static & Linked List
Pohon Biner.
TREE Oleh : Neny silvia Nurhidayah Afny wilujeng Setyorini
SINGLE LINKED LIST (SLL)
Transcript presentasi:

Operasi pada pohon biner

Merupakan suatu rangkaian proses (atau fungsi-fungsi) yang dapat dibagi menjadi. Insisialisasi Pembuatan simpul Pembuatan simpul akar Penambahan (insert) simpul baru Penghapusan (delete) seimpul Pembacaan/penelusuran pohon biner

Sebelum proses tersebut di atas dilaksanakan, pertama- tama deklarasi struktur simpul dan semua pinter yang diperlukan sbb: Pointer Root khusus untuk simpul akar Pointer P untuk simpul yang baru dibuat Pointer Q dan R sebagai pointer bantu

Proses inisialisasi Merupakan pemberian nilai awal pada suatu variabel atau kondisi yang dapat digunakan sebagai ciri suatu kondisi Root = NULL; P = NULL; Fungsi ini dilaksanakan sebelum fungsi yg lain. Pointer Root pada awalnya isinya sudah ada tetapi nilai tidak diketahui. Root = Null menjadi tanda pohon sudah ada atau belum

Pembuatan Simpul Jika pembuatan simpul gagal maka pointer P akan bernilai Null, “Pembuatan Simpul Gagal”

Membuat simpul Akar Sebelum membuat pohon pertama kali (simpul akar), periksa apakah pohon sudah ada (Root = Null) Bila sudah ada tidak perlu membuat simpul akar baru (pohon baru) Bila belum ada, periksa apakah simpul yang akan dibuat merupakan simpul akar (P != Null)

Membuat simpul Akar

Insert simpul Insert simpul ke dalam sebuah pohon  menambahkan simpul baru tersebut menjadi subordinat sebuah simpul baik kiri maupun kanan. Terdapat dua cara: Insert urut nomor simpul, atau insert lever per level Insert pada nomor simpul tertentu

Insert urut nomor simpul, level per level - Inser simpul sbg subordinat kanan: Root -> right = P - Inser simpul sbg subordinat kiri: Root -> left = P

Diperlukan sebuah array bertipe pointer Array Q [n] digunakan sebagai tempat antrian

Contoh. struct Node { struct Node *Left; char INFO; struct Node *Right; }; typedef struct Node Simpul; Simpul *P, *Root, *Current; Simpul *Q[30]; void Inisialisasi() { Root = NULL; P = NULL; }

Contoh. void BuatSimpul (char x) { P=(Simpul*) malloc(sizeof(Simpul)); if (P != NULL) P->INFO = x; P->Left = NULL; P->Right = NULL; } else printf ("Memory Heap Full"); exit (1);

Contoh. void BuatSimpulAkar() { if (Root == NULL) if(P != NULL) Root = P; Root->Left = NULL; Root->Right = NULL; } else printf("\n Simpul Belum Dibuat"); printf ("Pohon Sudah Ada");

Contoh. void InsertUrutNomor() { int i, j, Flag; char x; else { // data habis Flag = 1; j++; Q[j] = NULL; } if (Flag == 0) { x = getche(); if (x != '0') BuatSimpul (x); //Current = Q[i]; Current ->Right = P; j++; Q[j] = P; i++; void InsertUrutNomor() { int i, j, Flag; char x; Flag = 0; i=1; j=1; Q[i] = Root; while (Flag == 0 && j < 30) x = getche (); if (x != '0') BuatSimpul (x); Current = Q[i]; Current ->Left = P; j++; Q[j] = P; }

Contoh. void BacaUrutNomor() { int i, j, n, Counter; char x; printf ("\n"); while (Q[i] != NULL) { Current = Q[i]; printf ("%c ", Current -> INFO); Counter ++; if (Counter == n) Counter = 0; n = n*2; } i++;

Contoh. int main() { int i, j, Flag; char x; clrscr(); Inisialisasi(); x = getche(); BuatSimpul (x); BuatSimpulAkar(); InsertUrutNomor (); BacaUrutNomor (); }

Contoh.