TRAVERSING BINARY TREE

Slides:



Advertisements
Presentasi serupa
Menggambarkan Data: Tabel Frekuensi, Distribusi Frekuensi, dan Presentasi Grafis Chapter 2.
Advertisements

1.Jatuh cinta akan bidang yang digeluti. Jika jatuh cinta, maka akan selalu ingin memberikan yang terbaik dan penuh semangat Seperti lagu Kristina : Jatuh.
Kapasitor dan Dielektrik
Array.
STRUKTUR DATA (10) tree manipulation
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2006 Microsoft Corporation. All.
Kuliah Ke-2 Matriks Jarang dan Pengalamatan Matriks (Bab 2)
Algoritma & Pemrograman #10
Array Multidimensi MATRIK.
Mata Kuliah : ALGORITMA dan STRUKTUR DATA 1.
MELAKUKAN INSTALASI SISTEM OPERASI WINDOWS XP
Perancangan Web dan Internet. Introduction ? •What is a web site ? •What Is Internet ?
Apakah pilihan anda terhadap smartpro? Pelanggan Hanya mendapatkan manfaat produk saja Distributor • Selain mendapat manfaat dri produk,Harga produk lebih.
Memulai Drive Test menggunakan TEMS Investigation 6.1.4
File Handling.
Process to Process Delivery
Pemrograman Visual. Pernyataan IF…THEN…ELSE Pernyataan ini hanya memeriksa apakah suatu blok kode program dapat dieksekusi atau tidak. Jika kondisi pernyataan.
Taken From William Stallings Chapter 2 TCP/IP Models.
Introduction to The Design & Analysis of Algorithms
susy susmartini operations research II, 2006
PENGENALAN PL/SQL.
Ilmu Komputer, FMIPA UGM
PROSES PADA WINDOWS Pratikum SO. Introduksi Proses 1.Program yang sedang dalam keadaan dieksekusi. 2.Unit kerja terkecil yang secara individu memiliki.
Review Operasi Matriks
Internal dan Eksternal Sorting
Sorting.
Pengantar/pengenalan (Introduction)
Interface Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
Oracle Developer/2000. Developer/2000 Products FormsReportsGraphics.
Functions (Fungsi) Segaf, SE.MSc. Definition “suatu hubungan dimana setiap elemen dari wilayah saling berhubungan dengan satu dan hanya satu elemen dari.
JAVA CLASS Bahasa Pemrogramam BAHASA PEMROGRAMAN PERTEMUAN #9.
Menggunakan Drag-Drop
Implementing an REA Model in a Relational Database
PENGUKURAN TEGANGAN AC
Binary Tree Traversal.
Function, Procedure, Unit
INTEGRATED DEVELOPMENT PROCESS Mai 2005 Contribution to Studio Process Tim Dosen: Jo Santos/Suryono Herlambang/Beni Ahmad.
PENGAMBILAN KEPUTUSAN. 3. Operator Logika TandaKeterangan && Logika DAN  AND I I Logika ATAU  OR ! Negasi (lawan) Logika AND  True AND True = True.
STRUKTUR DATA TREE (POHON)
PEMROGRAMAN PPBD (UAS) SEBELUM MELANGKAH KE TAHAP SELANJUTNYA BERDOA DULU BIAR LANCAR DAN GA EROR
Linked List dan Double Linked List
Sprite Setiap objek dalam game yang memiliki gambar dan karakteristik.
Algoritma Pencarian Blind
By : Fitroh Amaluddin & Galih Wasis W.
Algoritma dan Struktur Data Menggunakan Java
Operator dan Assignment Pertemuan 3 Pemrograman Berbasis Obyek Oleh Tita Karlita.
Via Octaria Malau Transfer (Internal Transfers) Transfer (Transfers Internal) Select the account from which funds are to be transferred FROM and then select.
Red -BlackTrees Evaliata Br Sembiring.
STRUKTUR DATA :: Nur Cahyo W ::.
Retrosintetik dan Strategi Sintesis
Copyright © 2004 South-Western 5 Elasticity and Its Applications.
Web Teknologi I (MKB511C) Minggu 12 Page 1 MINGGU 12 Web Teknologi I (MKB511C) Pokok Bahasan: – Text processing perl-compatible regular expression/PCRE.
Person 19 || Marty Rori 1. Apa yang Buruk Tentang Menggunakan? Vairables global? 2 tidak aman!  Jika dua atau lebih programmer bekerja sama dalam program,
DANDC wijanarto.
AUSTRALIA INDONESIA PARTNERSHIP FOR EMERGING INFECTIOUS DISEASES PELATIHAN EXCEL DASAR.
Pertermuan 10 PADA POHON BINER KUNJUNGAN IMAM SIBRO MALISI
Tree.
Pertemuan Struktur Data *Pohon Ekspresi *
STACK (TUMPUKAN).
Struktur Organisasi Data 2
Binary Tree Rangga Juniansyah.
ADT Tree 2007/2008 – Ganjil – Minggu 8.
Tenia Wahyuningrum, S.Kom. MT
Tree. Tree (Pohon) Dalam dunia nyata, sebuah pohon memiliki : akar, cabang, daun. Dalam dunia komputer, pohon (tree) memiliki 3 (tiga) bagian tersebut.
Binary Tree.
Binary Tree.
Binary Tree Rangga Juniansyah.
Tim Struktur Data Program Studi Teknik Informatika UNIKOM
STRUKTUR DATA 2014 M. Bayu Wibisono.
Parts of a Tree.
Transcript presentasi:

TRAVERSING BINARY TREE GALIH WASIS WICAKSONO

TOPIK BAHASAN PENGERTIAN TRAVERSING BINARY TREE 3 JENIS TRAVERSAL PADA BINARY TREE IMPLEMENTASI TRAVERSING BINARY TREE DALAM KODE PROGRAM EFISIENSI BINARY TREE

APA ITU TREE? Gambaran alami dari Tree Leave Branch Root

APA ITU TREE ? Tree dalam perspektif Ilmu Komputer Root Branch Leave

TRAVERSING TREE Travers pada tree bermakna mengunjungi setiap node dengan tujuan tertentu. Pada dasarnya proses traverse tidak sering digunakan, disebabkan karena secara umum prosesnya tidak cepat. Akan tetapi traverse pada tree dapat bermanfaat pada aplikasi yang anda buat, dan secara teori menarik.

3 JENIS TRAVERSE BINARY TREE Inorder Preorder Postorder Finding

INORDER TRAVERSAL Inorder paling banyak digunakan dalam Binary Search Tree Inorder dilakukan pada binary tree yang sudah berada dalam kondisi terurut didasarkan key/element tree tersebut. Cara paling mudah mengimplementasikan inorder dengan rekursif

GAMBARAN INORDER

IMPLEMENTASI INORDER void inOrder(BinaryTree t) { if (t != null) inOrder(t.leftChild); visit(t); inOrder(t.rightChild); }

PREORDER & POSTORDER Preorder dan postorder digunakan untuk analisis atau mengurai ekspresi aljabar Umumnya digunakan untuk transformasi dari bentuk infix ke bentuk postfis maupun prefix

EKSPRESI ARITMATIKA (a + b) * (c + d) + e – f/g*h + 3.25 Ekspresi aritmatika diatas terdiri dari 3 jenis entitas Operators (+, -, /, *). Operands (a, b, c, d, e, f, g, h, 3.25, (a + b), (c + d), etc.). Delimiters [(, )].

MASALAH PADA INFIX Butuh prioritas operator, tie breaker, dan pembatas. Mengakibatkn perhitungan di komputer menjadi sulit. Bentuk ekspresi Postfix dan prefix tidak bergantung pada prioritas operator, tie breaker, atau pembatas, sehingga lebih mudah dioperasikan oleh komputer. Ex. Infix : a + b

CONTOH Infix = a + b * c Postfix = a b c * + Infix = a * b + c Infix = (a + b) * (c – d) / (e + f) Postfix = a b + c d - * e f + /

SOLUSI BINARY TREE a + b - a + a b - a

BINARY TREE SOLUTION (a + b) * (c – d) / (e + f) / + a b - c d e f *

IMPLEMENTASI PREORDER void preOrder(BinaryTree t) { if (t != null) visit(t); preOrder(t.leftChild); preOrder(t.rightChild); }

IMPLEMENTASI POSTORDER void postOrder(BinaryTree t) { if (t != null) preOrder(t.leftChild); preOrder(t.rightChild); visit(t); }

EFISIENSI BINARY TREE Search pada binary tree = ordered array O(Log N) -> Full Binary Tree Search pada binary tree vs linked list & unordered array kasus 100.000 item. linked list & unordered array butuh rata-rata 500.000 perbandingan Binary tree butuh 20 (atau kurang) perbandingan Operasi traversal pada binary tree tidak se-efisen operasi lain, akan tetapi dapat dimanfatkan untuk menguraikan ekspresi aljabar.

REPRESENTASI BINARY TREE BINARY TREE PROPERTIES ARRAY REPRESENTATION LINKEDLIST REPRESENTATION

MINIMUM NUMBER OF NODE Jumlah node minimum binary tree = level (L) 1 node pada setiap level

MAXIMUM NUMBER OF TREE Maximum number of nodes = 1 + 2 + 4 + 8 + … + 2L-1 = 2L - 1

NUMBER OF NODE & LEVEL Jika n adalah jumlah node pada binary tree Dan L adalah level pada binary tree maka : h <= n <= 2L – 1 log2(n+1) <= h <= n

PENOMORAN PADA FULL BT Nomer node dimulai dari 1 hingga 2L-1 Nomer antar level dimulai dari atas ke bawah Nomer pada satu level dimulai dari kiri ke kanan 1 2 3 4 6 5 7 8 9 10 11 12 13 14 15

PENOMORAN NODE i Adalah node root (tidak memiliki parent) Penomoran left child adalah 2i 2i > n -> tidak memiliki child Penomoran right child adalah 2i + 1 2i+1 > n tidak memiliki child

REPRESENTASI PD ARRAY tree[] Penomoran pd node menggunakan skema penomoran pada full binary tree. Nomor i disimpan pada tree[i] b a c d e f g h i j 1 2 3 4 5 6 7 8 9 10 tree[] 5 10 a b c d e f g h i j

REPRESENTASI PD ARRAY tree[] a b 1 3 c 7 d 15 5 10 a - b c 15 d 5 10 5 10 a - b c 15 d 5 10 15

REPRESENTASI PD LINKEDLIST c b d f e g h leftChild element rightChild root