• Tidak ada hasil yang ditemukan

Algoritma dan Struktur Data

N/A
N/A
Protected

Academic year: 2022

Membagikan "Algoritma dan Struktur Data"

Copied!
28
0
0

Teks penuh

(1)

Click to edit Master subtitle style

Algoritma dan Struktur Data

Binary Search Tree

(2)

Konsep Dasar

Binary search tree (BST) merupakan binary tree dengan sifat berikut:

Semua item pada left subtree bernilai kurang dari root.

Semua item pada right subtree bernilai lebih atau sama dengan root.

Setiap subtree merupakan BST.

(3)

33

Binary search tree

(4)

Valid binary search tree

(5)

55

Invalid binary search tree

(6)

Operasi pada BST

Traversals

Searches

Insertion

Deletion

(7)

77

Example of a binary search tree

(8)

Traversals

Preorder traversal

23 18 12 20 44 35 52

Postorder traversal

12 20 18 35 52 44 23

Inorder traversal

12 18 20 23 35 44 52

Inorder traversal pada BST

menghasilkan nilai yang terurut dari

kecil ke besar

(9)

99

Traversals

Bagaimana aturan tranversal yang

menghasilkan urutan dari besar ke kecil?

52 44 35 23 20 18 12

(10)

Searches

Beberapa jenis algoritma search:

Mencari node dengan nilai terkecil

Mencari node dengan nilai terbesar

Mencari node dengan nilai tertentu (BST

search)

(11)

1111

Find the smallest node

(12)

Find the smallest node

(13)

1313

Find the largest node

right subtree not empty

right subtree not empty

right subtree empty return

(14)

Find the largest node

(15)

1515

BST and the binary serch

(16)
(17)

1717

(18)

Insertion

BST insertion dilakukan pada leaf node

(19)

1919

BST Insertion

(20)

BST Insertion

(21)

2121

(22)

Trace of recursive BST insert

(23)

2323

Deletion

Untuk menghapus sebuah node dari BST, mula – mula lakukan search untuk

mencari node yang akan dihapus.

Terdapat empat kasus pada penghapusan sebuah node di BST. Node yang dihapus :

Tidak memiliki child

Hanya punya right subtree.

Hanya punya left subtree

Punya dua subtree

(24)

Four cases when we delete a node

1.

Node tidak memiliki child

Hapus node

1.

Node hanya memiliki right subtree.

Hapus node

Sambungkan right subtree ke parent node yang akan dihapus.

2.

Node hanya memiliki left subtree.

Hapus node

Sambungkan left subtree ke parent node yang akan dihapus.

(25)

2525

Four cases when we delete a node

4. Node memiliki dua subtree.

Temukan node dengan nilai terbesar pada left subtree node yang dihapus kemudian pindahkan node tersebut untuk menggantikan node yang dihapus or

Temukan node dengan nilai terkecil pada right subtree node yang dihapus kemudian pindahkan node tersebut untuk menggantikan node yang dihapus.

(26)

/* dltKey = root

*/

(27)

2727

(continued)

(28)

Referensi

Dokumen terkait

Sedangkan untuk tampilan data secara preorder, yang ditampilkan pertama adalah data pada bagian kiri node, kemudian data pada bagian kanan node, setelah itu node nya yang

node* next; // untuk menghubungkan dengan node lain, tipe data dibuat sama seperi aturan penggunaan

pengecekan apakah tiap node yang dilewati dari leaf hingga kembali ke root, apakah masih balance atau tidak.. Bila seluruh node yang dilewati hingga

• jika search-key yang ditemukan adalah search-key yang terakhir dalam node, ikuti pointer yang terakhir (P n ) untuk menuju leaf node selanjutnya.  Bandingkan dengan proses

 DLLNC adalah sebuah Linked List yang terdiri dari dua arah pointer, dengan node yang saling terhubung, namun kedua pointernya menunjuk ke NULL.  Setiap node pada

Properties of Binary Search Tree  Untuk setiap node X pada tree, nilai elemen pada subtree sebelah kiri selalu lebih kecil dari elemen node X dan nilai elemen pada subtree sebelah

Various Trees 2 Binary Search Tree: A binary tree in which the left subtree of a node contains only values less than or equal to the node’s value the right subtree of a node

Untuk data tinggi badan, hitung rata-rata, median, nilai data terkecil, nilai data terbesar, rentang, simpangan baku, variance, koefisien kurtosisnya, koefisien skewnessnya.. Untuk data