Algoritma dan Struktur Data. Binary Tree & Binary Search Tree (BST)

dokumen-dokumen yang mirip
Tenia Wahyuningrum, S.Kom. MT Sisilia Thya Safitri, S.T.,M.T.

KUM 6 IMPLEMENTASI BINARY TREE

Pohon dan Pohon Biner

TREE ALGORITMA & STRUKTUR DATA. Materi ASD Fakultas Teknik Elektro & Komputer UKSW ( Download Dari :

Binary Tree kosong Gambar 1. Binary Tree dalam kondisi kosong

Tree (Struktur Data) Nisa ul Hafidhoh, MT

B C D E F G H I J K L M N O P Q R S T. Tinaliah, S.Kom POHON BINER

BAB IV POHON. Diktat Algoritma dan Struktur Data 2

Algoritma dan Struktur Data. Tree

Pertemuan 9 STRUKTUR POHON & KUNJUNGAN POHON BINER

STRUKTUR POHON & KUNJUNGAN POHON BINER

IT234 Algoritma dan Struktur Data. Tree

Struktur Data dan Algoritma

Algoritma dan Struktur Data. Linear & Binary Search Tree

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II

Silsilah keluarga Hasil pertandingan yang berbentuk turnamen Struktur organisasi dari sebuah perusahaan. B.1 Pohon Biner (Binary Tree)

Ringkasan mengenai Tree (Dari beberapa referensi lain) Nina Valentika

MODUL PRAKTIKUM STRUKTUR DATA

ALGORITMA DAN STRUKTUR DATA

Soal Pendahuluan Modul 3

BAB VII POHON BINAR POHON

Tree. Perhatikan pula contoh tree di bawah ini : Level. Level 2. Level 3. Level 4. Level 5

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

6. TREE / BINARY TREE

BAB VII Tujuan 7.1 Deskripsi dari Binary Tree

Lecture Notes On Algorithms and Data Structures. Oleh Thompson Susabda Ngoen

Algoritma dan Struktur Data. Click to edit Master subtitle style Konsep Tree

BAB IX TREE (POHON) ISTILAH DASAR

Struktur Data & Algoritma

Koleksi Hirarkis Tree

TREE STRUCTURE (Struktur Pohon)

Struktur Data Tree/Pohon dalam Bahasa Java

13/12/2013. Binary Tree. Contoh Tree

Politeknik Elektronika Negeri Surabaya

Implementasi Skema Pohon Biner yang Persistent dalam Pemrograman Fungsional

Pemrograman Algoritma Dan Struktur Data

Organisasi Berkas Sekuensial Berindeks

A B C E F G K Contoh Tree

Termilogi Pada Pohon Berakar 10 Pohon Berakar Terurut

Pohon. Bahan Kuliah IF2120 Matematika Diskrit. Program Studi Teknik Informatika ITB. Rinaldi M/IF2120 Matdis 1

Definisi. Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon

STRUKTUR POHON (TREE) Pohon atau Tree adalah salah satu bentuk Graph terhubung yang tidak mengandung sirkuit.

FAKULTAS TEKNOLOGI KOMUNIKASI DAN INFORMATIKA UNIVERSITAS NASIONAL

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

STRUKTUR POHON (TREE) Pohon atau Tree adalah salah satu bentuk Graph terhubung yang tidak mengandung sirkuit.

Definisi. Pohon adalah graf tak-berarah, terhubung, dan tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon (ada sikuit) (tdk terhubung)

Politeknik Elektronika Negeri Surabaya

DEFINISI. Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon 2

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Tree (Pohon)

Buku Ajar Struktur Data

BINARY SEARCH TREE. TUJUAN UMUM Mahasiswa memahami binary search Tree

Pohon (TREE) Matematika Deskrit. Hasanuddin Sirait, MT 1

ANALISIS ALGORITMA BINARY SEARCH

POHON CARI BINER (Binary Search Tree)

Pohon Biner (Bagian 1)

Matematika Diskret (Pohon) Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

JAWABAN TUGAS MATRIKULASI STRUKTUR DATA. DOSEN Bpk. Krisna Adiyarta, M.Sc

Variasi Pohon Pencarian Biner Seimbang

Binary Tree. Binary Tree dapat digambarkan berdasarkan kondisinya, sebagai berikut: Pointer ke akar (root) dari tree

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 10 & 11

Syarif Abdullah (G )

TUGAS MAKALAH INDIVIDUAL. Mata Kuliah : Matematika Diskrit / IF2153 Nama : Dwitiyo Abhirama NIM :

METODE AVL TREE UNTUK PENYEIMBANGAN TINGGI BINARY TREE

KUNJUNGAN PADA POHON BINER

Pemodelan dan Pengelolaan Data Klasifikasi Tanaman Menggunakan Pohon

Praktikum Algoritma dan Setruktur Data

Binary Search Tree (BST)

Everybody in this country should learn how to program a computer because it teaches you how to think. Steve Jobs

8/29/2014. Kode MK/ Nama MK. Matematika Diskrit 2 8/29/2014

MAKALAH DESAIN DAN ANALISIS ALGORITMA BINARY TREE DISUSUN OLEH : 1. Nadim Achmad ( ) 2. Dzurratul Ulya ( )

BAB XI Manipulasi Binary Tree

A. TUJUAN Mahasiswa diharapkan mampu : 1. Memahami Konsep Binary Search Tree 2. Mengimplementasaikan Binary Search Tree

Algoritma dan Struktur Data STACK

Outline. Struktur Data & Algoritme (Data Structures & Algorithms) Pengantar. Definisi. 2-3 Trees

Politeknik Elektronika Negeri Surabaya

Penerapan Pohon Untuk Memanipulasi dan Meritrieve Data

Struktur Data & Algoritma

Pohon Biner dan Aplikasinya

Konsep Pohon (Tree) Binary Tree Penyajian Tree dengan Array Penyajian Tree dengan Linked List Metode Traversal (Kunjungan Node pada Tree)

OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF

Penerapan Pohon Dalam Heap Sort

Preorder Tree Traversal

Silsilah keluarga Hasil pertandingan yang berbentuk turnamen Struktur organisasi dari sebuah perusahaan

Binary Tree. Binary Tree dapat digambarkan berdasarkan kondisinya, sebagai berikut: Pointer ke akar (root) dari tree

TREE. Definisi. Istilah-istilah Umum dalam Tree

Struktur dan Organisasi Data 2 POHON BINAR

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

IKI 20100: Struktur Data & Algoritma

Ujian Tengah Semester Struktur Data dan Algoritma Fakultas Ilmu Komputer, Universitas Indonesia 9 November 2006

BAB 7 POHON BINAR R S U

POHON BINAR 7.1 POHON. Gambar 7.1. Contoh pohon berakar

BAB II LANDASAN TEORI

Membuat Binary Search Tree Menggunakan STL Vector C++

Mata Kuliah : Struktur Data Semester : Genap Kode Mata Kuliah : 307 Waktu : 180 Menit Bobot : 4 sks. Jurusan : MI

Data Structure TREE & BINARY TREE. Chapter 5b. Dahlia Widhyaestoeti, S.Kom

BAB 2 LANDASAN TEORI

Penerapan Teknik Binary Search Tree Sebagai Alternatif Penyimpanan Data

Transkripsi:

Algoritma dan Struktur Data Binary Tree & Binary Search Tree (BST) Teknik Informatika Universitas Muhammadiyah Malang 2016

Outline Tree Binary tree Istilah pada tree Operasi dasar binary tree BST

Definisi Tree adalah Kumpulan element yang saling terhubung secara hirarki (one to many). Element pada tree disebut node. http://people.cs.ksu.edu/~schmidt/300s05/lectures/week7b.html

Aturan Sebuah node hanya boleh memiliki satu induk/parent. Kecuali root, tidak memiliki induk/parent. Setiap node dapat memiliki nol atau banyak cabang anak (one to many). Node yang tidak memiliki cabang anak disebut daun

Contoh Tree Ada berapa node pada tree diatas? Node manakah yang menjadi root? Ada berapa jumlah node leaf/daun pada tree tersebut?

Contoh Tree Ada berapa node pada tree diatas? 18 Node manakah yang menjadi root? Animal Ada berapa jumlah node leaf/daun pada tree tersebut? 8

Istilah pada Tree

Latihan Predesesor(F)? Succesor(B)? Ancestor (F)? Descendant (B)? Parent (I)? Child (C)? Sibling (G)? Size? Height? Root? Leaf? Degree(C)?

Jawaban Predecesor (F) = A,B,C Succesor(B) = D,E,F,G,H,I Ancestor (F) = C,A Descendant (B) = D, E Parent (I) = H Child (C) = F,G,H Sibling (G) = F,H Size = 9 Height = 4 Root = A Leaf = D,E,F,G,I Degree (C) = 3

Test Pemahaman 1. Apa itu leaf/daun? 2. Apa itu root? 3. Apa itu level pada tree? 4. Apa itu subtree? 5. Apa itu binary tree?

Binary Tree Binary tree = pohon biner Tiap node-nya memiliki maksimal 2 cabang

Contoh tree http://people.cs.ksu.edu/~schmidt/300s05/lectures/week7b.html

Contoh binary tree R S T X Y U V Z W

Contoh Binary Tree

Latihan Cari sebuah contoh kasus yang dapat direpresentasikan dengan tree! Gambarkan bentuk tree dari kasus tersebut sampai level 3! Dari tree yang dibuat tsb, tentukan root, daun, height, size, predesesor, ancestor, descendant, successor, dll. Tentukan apakah tree yang terbentuk termasuk binary tree atau bukan?

Representasi Binary Tree Binary tree dapat direpresentasikan dengan menggunakan array maupun linked list.

Representasi Binary Tree Representasi binary tree menggunakan array (root pada index 0) : H D K B F J L A C E G I 0 1 2 3 4 5 6 7 8 9 10 11

Latihan Representasikan dengan array! a b c d e f g h i j

Jawaban tree[] a b c d e f g h i 0 j 11

Linkedlist Representation root A B C H D I E F J G leftchild element rightchild

Akses Elemen Posisi node dapat ditentukan berdasarkan rumus berikut : Asumsi root dimulai dari index 0 : Anak kiri dari node i berada pada indeks : 2*i+1 Anak kanan dari node i berada pada indeks : 2*i+2 Asumsi root dimulai dari index 1 : Anak kiri dari node i berada pada indeks : 2*i Anak kanan dari node i berada pada indeks : 2*i+1 Struktur Data - Tree 21

Binary Tree Traversal Teknik Penelusuran seluruh node pada binary tree. Ada 4 metode : Preorder Inorder Postorder Level order

PreOrder Traversal Algoritma Preorder traversal : 1. Cetak data pada root 2. Secara rekursif mencetak seluruh data pada subpohon kiri 3. Secara rekursif mencetak seluruh data pada subpohon kanan

Preorder Example (visit = print) a b c a b c

Preorder Example (visit = print) a b d e g h i f c j

Preorder Example (visit = print) a b d e g h i f c j a b d g h e i c f j

Preorder Of Expression Tree / * + + - e f a b c d / * + a b - c d + e f Gives prefix form of expression!

Inorder Traversal Algoritma Inorder traversal : 1.Secara rekursif mencetak seluruh data pada subpohon kiri 2.Cetak data pada root 3.Secara rekursif mencetak seluruh data pada subpohon kanan

Inorder Example (visit = print) a b c b a c

Inorder Example (visit = print) a b d e g h i f c j

Inorder Example (visit = print) a b d e g h i f c j g d h b e i a f j c

Postorder Traversal Algoritma Postorder traversal : 1.Secara rekursif mencetak seluruh data pada subpohon kiri 2.Secara rekursif mencetak seluruh data pada subpohon kanan 3.Cetak data pada root

Postorder Example (visit = print) a b c b c a

Postorder Example (visit = print) a b d e g h i f c j

Postorder Example (visit = print) a b d e g h i f c j g h d i e b j f c a

Postorder Of Expression Tree / * + + - e f a b c d a b + c d - * e f + / Gives postfix form of expression!

BINARY SEARCH TREE (BST)

Binary Search Tree (BST) Disebut juga Ordered Binary tree yaitu binary tree yang seluruh node-nya terurut. Aturan : data pada subtree kiri lebih kecil dari data pada subtree kanan.

Contoh BST Root = 20 20 10 40 6 15 30 2 8 25

Penambahan BST Aturan minmax: Node yang bernilai lebih kecil dari root diletakkan pada subtree sebelah kiri. Node yang bernilai lebih besar diletakkan pada subtree sebelah kanan. Jika ada nilai yang sama maka node tersebut di-overwrite.

Latihan Buatlah sebuah Binary Search Tree berdasarkan proses-proses berikut : insert 17, insert 8, insert 32, insert 6, insert 10, insert 21, insert 45, insert 1, insert 7, insert 9, insert 26, insert 37, insert 50.

Penghapusan BST Ada 3 kasus : Node adalah leaf/daun. Node memiliki degree 1. Node memiliki degree 2.

Penghapusan Node Daun (Node 7) 20 10 40 6 15 30 2 8 18 25 35 7 Remove a leaf element. key = 7

Penhapusan Node Daun (Node 35) 20 10 40 6 15 30 2 8 18 25 35 7 Remove a leaf element. key = 35

Penghapusan Node Ber-degree 1 (Node 40) 20 10 40 6 15 30 2 8 18 25 35 7 Remove from a degree 1 node. key = 40

Penghapusan Node Ber-degree 1 (Node 15) 20 10 40 6 15 30 2 8 18 25 35 7 Remove from a degree 1 node. key = 15

Aturan penghapusan node degree 2 Sebagai pengganti node yang dihapus dengan degree 2. aturannya sbb : ambil node paling besar dari subtree kiri atau ambil node paling kecil dari subtree kanan.

Penghapusan Node Ber-degree 2 (Node 10) 20 10 40 6 15 30 2 8 18 25 35 7 Remove from a degree 2 node. key = 10

Replace with largest key in left subtree (or smallest in right subtree). Remove From A Degree 2 Node 20 10 40 6 15 30 2 8 18 25 35 7

Replace with largest key in left subtree (or smallest in right subtree). Penghapusan Node Ber-degree 2 20 10 40 6 15 30 2 8 18 25 35 7

Replace with largest key in left subtree (or smallest in right subtree). Penghapusan Node Ber-degree 2 20 8 40 6 15 30 2 8 18 25 35 7

Latihan 20 10 40 6 15 30 2 8 18 25 35 7 Remove from a degree 2 node. key = 20

Penghapusan Node Ber-degree 2 20 10 40 6 15 30 2 8 18 25 35 7 Replace with largest in left subtree.

Penghapusan Node Ber-degree 2 20 10 40 6 15 30 2 8 18 25 35 7 Replace with largest in left subtree.

Penghapusan Node Ber-degree 2 18 10 40 6 15 30 2 8 18 25 35 7 Replace with largest in left subtree.

Hasil Akhir 18 10 40 6 15 30 2 8 25 35 7

Implementasi Binary Search Tree

Operasi Binary Search Tree Operasi-operasi yang dilakukan pada binary search tree meliputi : 1. Penambahan node 2. Penghapusan node 3. Pencarian node

Penghapusan: Contoh program Node2P remove(int x, Node2P t) { if (t == null) t=null; if (x < t.data) { t.previous = remove(x, t.previous); } else if (x > t.data) { t.next = remove(x, t.next); } else if (t.previous!= null && t.next!= null) { t.data = findmin(t.next).data; t.next = removemin(t.next); } else { t = (t.previous!= null)? t.previous : t.next; } return t; }

Contoh program Penghapusan node terkecil : Node2P removemin(node2p t) { if (t == null) t=null; } if (t.previous!= null) { t.previous = removemin (t.previous); } else { t = t.next; } return t;

Contoh program Pencarian Node terkecil : Node2P findmin (Node2P t) { if (t == null) t=null; } while (t.previous!= null) { t = t.previous; } return t;

Pustaka Sartaj Sahni, Data Structures & Algorithms, Presentation L20-24. Mitchell Waite, Data Structures & Algorithms in Java, SAMS, 2001