Algoritma Struktur Data 3 sks By. Sri Rezeki Candra Nursari
Algoritma Struktur Data3 sks
By. Sri Rezeki Candra Nursari
MateriMateriPengantar Struktur Data
Abstract Data Type (ADT)
Rekursif : Fibonacci
Sorting (Selection, Insertion, Bubble, Shell, Merge, Quick)
Struktur Data Linier (Linked List, Stack, Queu)
Struktur Data Hirarki (Tree, Graph, Hash Tables)
Search (Sequential, Fibonacci, Interpolation, Binary)
Literatur :1. H.M Deitel, P.J Deitel, Small Java How to Program-sixth
Edition, Pearson Prentice Hall, 20052. Elliot B. Koffman, Paul A.T. Wolfgang, Objects, Abstraction,
Data Structures and Design Using Java, John Wiley & Sons.Inc, 2005
3. Mark Allen Weiss, Data Structures & Algorithm Analysis in Java, Addison-Wesley, 1999
4. Moh.Sjukani, Algoritma & Struktur Data dengan C, C++ dan Java, Mitra Wacana Media, Agustus 2005
5. Andri Kristanto, Struktur Data dengan C, Graha Ilmu, 20036. Bambang Wahyudi, Pengantar Struktur Data dan Algoritma,
Andi, 20047. Ema Utami, Struktur Data, Graha Ilmu, 20078. Yatini B, Indra, Pemrograman Terstruktur, J&J Learning
Yogyakarta, 20019. Wirth, Niklaus, Algorithmic + Data Structures Programs,
Prentice-Hall, 197610. Thompson Susabda Ngoen , Algoritma dan Struktur Data
Bahasa C, Mitra Wacana Media, 2009
ALGORITMA ALGORITMA STRUKTUR STRUKTUR DATADATA -- 33 sks sks
TREE - POHON
Pertemuan 09
TREE - POHON• Tree merupakan salah satu bentuk
struktur data yang non linear/tidak linear yang menggambarkan hubungan yang bersifat hirarki (hubungan one to many) antara elemen-elemen
• Tree dapat juga didefinisikan sebagai kumpulan simpul/node dengan satu elemen khusus yang disebut ROOT dan node yang lainnya terbagi menjadi himpunan-himpunan yang saling tak berhubungan satu sama lain (disebut SUBTREE)
Istilah Umum Dalam TREE1. Tree (pohon) dan Graph (Graf)2. Simpul (Vertex, Node) dan Busur
(Edge, Arc)3. Superordinat dan subordinat, father
dan son, parent dan children4. Root (akar) dan Leaf (daun)5. Level (tingkat) dan Depth (kedalaman)6. Degree (derajat) simpul dan degree
pohon7. M-ary tree dan binary tree8. Link dan null-link
1. Tree/Pohon & Graph/Graf
• Tree (pohon) merupakan bagian dari graph
• Dengan simbol matematik pernyataan Tree dapat dituliskan sebagai berikut :
T = G
2. Simpul & Busur
• Pohon merupakan kumplan dari simpul dan busur, dimana salah satu simpul merupakan akar (root) dan simpul-simpul lain membentuk suatu sub pohon / sub tree yang dapat dituliskan sbb:
T = (V, E)V = vertex/node/titik/simpulE = edge/arc/busur
2. Simpul & Busur
• Simpul/Node/Titik/Vertex– Tree terdiri dari 14 buah
simpul (n=14) simpul A s.d. N atau v0 s.d. v13
V = {v0, v1, v2....... , v13)
• Busur/Edge– Tree terdiri dari 13 buah
busur (m=12) e0 s.d. e12E = {e0, e1, e2....... , e12)
3. Superordinat & Subordinat
• Superordinatdiistilahkan dengan father/bapak/parent sedangkan subordinat diistilahkan dengan son/anak/child
• Contoh:– Simpul B merupakan
superordinat simpul E dan F– Simpul E dan F merupakan
subordinat simpul B– Simpul B mempunyai
superordinat yaitu simpul E (left child) dan F (right child)
• Parent : predecessor satu level di atas suatu node
• Child : successor satu level di bawah suatu node
4. Root/Akar & Leaf/Daun
• Root (akar) adalah simpul yang tidak mempunyai superordinat.– Untuk pohon yang dicontohkan
disamping, maka akar adalah simpul A– Root : Satu-satunya node khusus
dalam tree yang tak punya predecessor
• Leaf/daun adalah simpul yang tidak mempunyai subordinat– Untuk pohon yang dicontohkan
disamping, maka daun adalah simpul C, E, G, I, J, K, L, M, N
– Leaf : Node-node dalam tree yang tidak memiliki successor
5. Level & Depth/Kedalaman
• Level (tingkat) akar dinyatakan berada pada level 0, setiap turunan satu subordinat, level bertambah 1
• Depth (kedalaman) satu pohon yang mempunyai level teratas atau level tertinggi = k, maka disebut kedalamannya = k– Untuk pohon yang
dicontohkan disamping, karena level tertinggi adalah 3 maka depth =3
• Height : Banyaknya tingkatan/level dalam suatu tree
6. Degree sebuah simpul
• Degree merupakan sebuah simpul yang menyatakan jumlah simpul subordinat dari simpul tersebut– Untuk pohon
disamping :• Simpul A : degree = 3• Simpul B : degree = 2• Simpul C : degree = 0
• Degree: Banyaknya child yang memiliki suatu node
istilah-istilah umum dalam tree
• Predecessor: node yang berada di atas node tertentu
• Successor : node yang berada di bawah node tertentu
istilah-istilah umum dalam tree
• Ancestor : seluruh node yang terletak sebelum node tertentu dan terletak pada jalur yang sama
• Descendant : seluruh node yang terletak sesudah node tertentu dan terletak pada jalur yang sama
• Sibling : node-node yang memiliki parent yang sama dengan suatu node
• Size :Banyaknya node dalam suatu tree
Ancestor (F) = ADescendant (A) = F,G & D,EParent (D) = BChild (A) = B,CSibling (F) = GSize = 7Height = 3Root = ALeaf = D,E,F,G
A
BC
D E F G
Ancestor (F) = ……Descendant (C) = ….Parent (D) = ….Child (A) = …..Sibling (F) = ….Size = ….Height = ….Root = …..Leaf = ……Degree:
Simpul A = …. Simpul B = .....Simpul C = …. Simpul D = .....Simpul E = …. Simpul F = .....Simpul G = ......
Level = ............Depth = .................
A
BC
D E F G
H IJ
Root/Akar = …..Leaf/Daun = ……Degree
Simpul ......, Degree = ....Simpul ......, Degree = ....etc......
Superordinat/Parent = ….Subordinat/Child
Simpul ......, Child = ....Simpul ......, Child = ....etc......
Node/Vertex/Titik/Simpul = ….Busur/Edge/Arc = ….Level = ......Height /Depth/Kedalaman = ….Ancestor (G) / Ancestor (7) = .....Descendant (G) / Descendant (7) = .....Sibling (F) / Sibling (3) = ......Size = .....
A
BC
D E F G
H IJ
7a. M-ary Tree
• M atau K menyatakan derajat pohon• Contoh : sebuah simpul pohon M-ary
dimana M=3 digambarkan dengan Linked-List
INFO
Link1 Link2 Link3
7b. Binary Tree
• M atau K menyatakan derajat pohon• Contoh : sebuah simpul pohon Binary Tree /
Pohon Biner dimana M=2 digambarkan dengan Linked-List
INFO
Link1 Link2
Contoh Pohon BinerA
B C
D E F G
H
8. Link, Null-Link dan Bukan Null-Link• Link
– Pointer yang digunakan untuk menunjuk simpul subordinat– Untuk contoh pohon biner adalah setiapsimpul mempynyai 2
link, sehingga jumlah link = n*2
• Null-Link– Link yang bernilai Null, yaitu link yang tidak menunjuk simpul
subordinat
• Bukan Null-Link– Link yang menunjuk simpul subordinat atau link yang
menghubungkan dua buah simpul yang biasanya disebut dengan busur
Contoh Soal : M-ary• Sebuah pohon M-ary dengan 10 buah
simpul. Apabila M=3, Hitung berapa jumlah Null-Link nya?
Pohon dengan M = 3Jumlah simpul 10,
maka n = 10
Jumlah Null-Link = n * (M-1) + 1= 10 * (3-1) +1= 10*2+1= 21
A
B CD
E FG
H
J
I
Contoh Soal : Pohon Biner
• Sebuah pohon biner dengan 10 buah simpul. Apabila M=2, Hitung berapa jumlah Null-Link nya?
Pohon dengan M = 2Jumlah simpul 10,
maka n = 10
Jumlah Null-Link = n * (M-1) + 1= 10 * (2-1) +1= 10*1+1= 11
A
BC
D EH
F
IG
J
BINARY TREE – POHON BINER
POHON BINER / BINARY TREE
• Sebuah pohon biner/binary tree adalah merupakan himpunan terbatas yang – Mungkin kosong– Terdiri dari sebuah simpul yang disebut sebagai akar dan
dua buah himpunan lain yang saling asing– Dia humpunan yang saling asing tersebut adalah pohon
biner pada sub pohon kiri (left) dan sub pohon kanan (right)
– Tergolong dalam pohon beraturan, yaitu pohon yang memperhatikan urutan hubungan antara satu simpul dengan simpul lain, dalam hal ini cabang kiri dibedakan dengan cabang kanan
POHON BINER / BINARY TREE
• Merupakan pohon M-ary dimana M=2, yang artinya setiap simpul paling banyak memiliki 2 simpul subordinat yang biasa disebut subordinat kiri (left-child) dan subordinat kanan (right-child)
INFOLeft Right
INFOLeft Right
Father
POHON BINER / BINARY TREE• Strictly Binary Tree merupakan pohon biner yang
semua simpulnya, (kecuali simpul leaf/daun) mempunyai lengkap simpul subordinat kiri dan subordinat kanan
• Sebuah pohon biner strictlybinary tree, apabila mempunyai n buah daun, maka akan mempunyai (2n-1) buah simpul
A
B C
D E F G
H I
Jumlah daun/leaf = 5
Jumlah simpul = 2 *n - 1= 2 * 5 - 1= 9
COMPLETE BINARY TREE/FULL BINARY TREE/ ALMOST COMPLETE BINARY TREE
• Complete Binary Tree dengan kedalaman = d, merupakan pohon biner strictly binary treedimana semua daun hanya berada pada level d
• Pada pohon complete binary tree/full binary tree/almost complete binary tree berlaku : – Pada leve k jumlah simpul n=2^k– Untuk pohon dengan kedalaman d, maka jumlah seluruh
simpul n = 2^(d+1)-1– Untuk pohon dengan kedalaman d, maka jumlah simpul
daun n = 2^d
COMPLETE BINARY TREE/FULL BINARY TREE/ ALMOST COMPLETE BINARY TREE
• Pada pohon complete binary tree/full binary tree/almost complete binary tree berlaku : – Untuk pohon dengan kedalaman d, maka jumlah simpul
bukan daun n = (2^d)-1– Bila jumlah seluruh simpul = n, maka kedalaman pohon
adalah d = log2(n+1)-1– Setiap simpul yang berada dibawah level d-1,
mempunyai dua subordinat– Bila pada level d-1 sub pohon kanan ada simpul yang
mempunyai subordinat, maka setiap simpul pada level d-1 subpohon kiri harus mempunyai subordinat kiri dan kanan
COMPLETE BINARY TREE/FULL BINARY TREE/ ALMOST COMPLETE BINARY TREE
Almost Complete Binary Tree dan Bukan Strictly Binary Tree karena simpul G hanya punya satu anak
A
B C
D E F G
J KH I L M N
Almost Complete Binary Tree dan Strictly Binary Tree
A
B C
D E F G
J KH I L M N O
COMPLETE BINARY TREE/FULL BINARY TREE/ ALMOST COMPLETE BINARY TREE
Bukan Almost Complete Binary Treekarena simpul C hanya punya satu anak
A
B C
D E F
J KH I
Bukan Almost Complete Binary Tree
A
B C
D E F G
H
Almost Complete Binary Tree dan tapi bukan Strictly Binary Tree
A
B C
D E F G
H I L M
POHON BINER SEIMBANG –BALANCED BINARY TREE (AVL)
POHON BINER SEIMBANG - AVL
• AVL diambil dari nama G.M. Adelson-Velskii dan E.M. Landis, 2 orang ahli matematika Rusia yang pertama kali (1962) memperkenalkan metode untuk membuat pohon biner selalu seimbang
• Pohon Biner Seimbang / Berimbang adalah pohon biner yang ketinggian subpohon kiri dan subpohon kanan untuk setiap simpul superordinat, paling banyak berselisih 1
• Jadi pohon biner complete dan almost complete adalah pohon biner berimbang
• Pohon miring/skewed dengan ketinggian /depth lebih besar dari 1 adalah pohon biner tak seimbang
CONTOH : BALANCED BINARY TREE UNBALANCED BINARY TREE
Unbalanced Binary Tree
A
B C
D E F G
J KH I L M N
Balanced Binary Tree
A
B C
D E F G
J KH I L M N O
PENOMORAN SIMPUL POHON BINER• Berdasarkan konversi dapat disepakati cara
penomoran setiap simpul dalam pohon biner, yaitu:– Bila sebuah simpul bernomor n, maka subordinat kiri
bernomor 2n dan subordiat kanan bernomor 2n+1– Simpul akar, diberi nomor 1
A
B C
1
2 3A
B C
n
2n 2n+1G
H I
5
10 11
PENOMORAN SIMPUL POHON BINER
Level(k)
Maksimum jumlah simpul pada level2^k
Maksimum jumlah seluruh simpul sampai dengan level
2^(k+1)-1
0 1 1
1 2 3
2 4 7
3 8 15
4
5
6
7
8
9
10 1024 2047
BINARY TREE/POHON BINER
• Proses Pohon Biner (Binary Tree), adalah 1. Mendeklarasikan struktur simpul2. Inisialisasi3. Pembuatan sebuah simpul4. Pembuatan simpul akar5. Penambahan/melakukan insert simpul
baru kedalam sebuah pohon6. Pembacaan/penelusuran pohon biner
BINARY TREE/POHON BINER• Proses Pohon Biner (Binary Tree), adalah
1. Deklarasi struktur simpul
2. Inisialisasi
.
BINARY TREE/POHON BINER• Proses Pohon Biner (Binary Tree), adalah
3. Pembuatan sebuah simpul
BINARY TREE/POHON BINER
• Proses Pohon Biner (Binary Tree), adalah 4. Pembuatan simpul Akar
BINARY TREE/ POHON BINER
• Proses Pohon Biner (Binary Tree), adalah 5. Penambahan
/melakukan insert simpul baru kedalam sebuah pohon
BINARY TREE/POHON BINER
• Proses Pohon Biner (Binary Tree), adalah 6. Pembacaan/pene
lusuran pohon biner
HEAP & B-TREE
Pertemuan 11
HEAP TREE
Heap adalah tree yang mempunyai persamaan sebagai berikut:
R[i] < r[2i] dan R[i] < r[2i+1] Heap Tree disebut juga Complete Binary Tree,
jika suatu node mempunyai child, maka jumlah childnya harus selalu dua
Minimum Heap, apabila parentnya lebih kecil daripada kedua childnya
Maksimum Heap, apabila parentnya lebih besar daripada kedua childnya
HEAP TREE
Contoh HEAP TREE
9
12 25
22 55
MINIMUM HEAP TREE
Contoh HEAP TREE
63
55 25
22 9
MAKSIMUM HEAP TREE
HEAP-TREE
• Operasi dalam Heap Tree) 1. Penambahan/melakukan insert simpul2. Penghapusan/melakukan Delete simpul
HEAP-TREE
• Operasi dalam Heap Tree) 1. Penambahan/melakukan insert simpul
Insertion
• Insert 2 (Percolate Up)
40 42
-1
0 1
43 5 3 8
65 58 4 2
0 1 43 5 3 8 65 58 40-1 42 40 1 2 3 4 5 6 7 8 9 10 11 12 13 14
231-1
Insertion• Insert 2 (Percolate Up)
40 42
-1
0 1
43 5 2 8
65 58 4 3
0 1 43 5 3 8 65 58 40-1 42 40 1 2 3 4 5 6 7 8 9 10 11 12 13 14
321-1
Insertion
• Insert 14
14
13
21 16
24 31 19 68
65 26 32
Insertion
• Insert 14
31
13
21 16
24 14 19 68
65 26 32
Insertion
• Insert 14
31
13
14 16
24 21 19 68
65 26 32
HEAP-TREE
• Operasi dalam Heap Tree) 2. Penghapusan/melakukan Delete simpul
0 1 43 3 3 2 65 58 40-1 42 40 1 2 3 4 5 6 7 8 9 10 11 12 13
-1
0 1
43 3 3 2
65 58 40 42 4
14
Delete Minimum• Percolate Down
0 1 43 3 3 2 65 58 404 420 1 2 3 4 5 6 7 8 9 10 11 12 13
4
0 1
43 3 3 2
65 58 40 42
14
Delete Minimum
3 1 43 4 3 2 65 58 400 420 1 2 3 4 5 6 7 8 9 10 11 12 13
0
3 1
43 4 3 2
65 58 40 42
14
Delete Minimum: Completed
13
14 16
19 21 19 68
65 26 32 31
Delete Min (Alternative)
14 16
19 21 19 68
65 26 32 31
Delete Min (Alternative)
• Percolate Down
Delete Min (Alternative)
14
16
19 21 19 68
65 26 32 31
14
19 16
21 19 68
65 26 32 31
Delete Min (Alternative)
Delete Min (Alternative)
14
19 16
26 21 19 68
65 32 31
Delete Min (Alternative)
14
19 16
26 21 19 68
65 31 32
B-TREE
B-Tree adalah tree yang setiap nodenya dapat berisi lebih daripada satu elemen
Jumlah elemen dalam 1 node tergantung kepada order B-Tree tersebut
Jumlah minimum elemen dalam setiap node (kecuali ROOT) adalah d, dan jumlah maksimum elemen di ROOT adalah satu dan jumlah maksimumnya adalah 2d
Jumlah minimum child suatu node di dalam B-Tree adalah 0, dan jumlah maksimumnya adalah jumlah elemen +1
B-TREE
• Operasi dalam Pohon B (B- Tree) 1. Penambahan/melakukan insert simpul2. Penghapusan/melakukan Delete simpul
B-TREE
• Operasi dalam Pohon B (B- Tree)1. Insert Apabila node/simpul belum penuh (jumlah
elemen < 2d), maka elemen dapat langsung diinsert
Jika node/simpul sudah penuh, maka lakukan NODE SPLIT dengan langkah sebagai berikut Split node/simpul menjadi 2 25 37 40 Akan menginsert elemen 27
Letakkan d elemen terkecil di node/simpul kiri Letakkan d elemen terkecil di node/simpul kanan Letakkan elemen tengah ke node/simpul parentnya
B-TREE• Operasi dalam Pohon B (B- Tree)
2. Delete Jika target node/simpul yang akan dihapus berisi elemen lebih dari
d, maka target elemen dapat langsung dihapus, tanpa harus di regenerate
Contoh : Split node/simpul 10 Root 5 6 7 15 16 18 delete 6 5 7 15 16 18
Jika target node/simpul yang akan dihapus berisi d node/simpul, penghapusan akan menyebabkan underflow, maka regenerate dilakukan dengan meminjam elemen yang berada di node/sim;ul kiri atau kanan (yang memiliki elemen lebih dari d). Parent/separator akan berubah
Contoh : Split node/simpul 10 20 Root 5 7 9 15 16 25 26 delete 15 9 20 Root 5 7 10 15 16 25 26
B-TREE
• Operasi dalam Pohon B (B- Tree)2. Delete Jika node/simpul kiri maupun kanan yang akan
dilakukan peminjaman ternyata mempunyai elemen kurang dari d, jika dilakukan peminjaman node/simpul tersebut akan terjadi underflow, maka regenerate akan dilakukan dengan menggabung node/simpul yang akan dihapus dengan node/simpul kiri yang akan dihapus dengan node/simpul di kiri/kanan
Contoh : Split node/simpul 9 20 Root 5 715 16 25 27 delete 15 20 Root 5 7 9 16 25 27
B-TREE
B-TREE
B-TREE
B-TREE
Heap SortSeperti metode struktur organisasi,nilai ditukarkan dari root ke level yang paling rendah
Heap Sort -Max/DescendingA: [ 23,17,14,6,13,10,1,5,7, 12]
23
17 14
6 13 10 1
5 7 12
Heap Sort -Max/DescendingA: [ 23,17,14,6,13,10,1,5,7, 12]
23
17 14
6 13 10 1
5 7 12
i=5
i=5
Heap Sort -Max/DescendingA: [ 23,17,14,6,13,10,1,5,7, 12]
23
17 14
7 13 10 1
5 6 12
i=4
i=4
Heap Sort -Max/DescendingA: [ 23,17,14,6,13,10,1,5,7, 12]
23
17 14
7 13 10 1
5 6 12
i=3
i=3
Heap Sort -Max/DescendingA: [ 23,17,14,6,13,10,1,5,7, 12]
23
17 14
7 13 10 1
5 6 12
i=2
i=2
Heap Sort -Max/DescendingA: [ 23,17,14,6,13,10,1,5,7, 12]
23
17 14
7 13 10 1
5 6 12
i=1i=1
Heap Sort -Max/DescendingA: [ 23,17,14,6,13,10,1,5,7, 12]
17
13 14
7 12 10 1
5 6 23
Heap Sort -Max/DescendingA: [ 23,17,14,6,13,10,1,5,7, 12]
14
13 10
7 12 6 1
5 17 23
Heap Sort -Max/DescendingA: [ 23,17,14,6,13,10,1,5,7, 12]
13
12 10
7 5 6 1
14 17 23
Heap Sort -Max/DescendingA: [ 23,17,14,6,13,10,1,5,7, 12]
12
7 10
1 5 6 13
14 17 23
Heap Sort -Max/DescendingA: [ 23,17,14,6,13,10,1,5,7, 12]
10
7 6
1 5 12 13
14 17 23
Heap Sort -Max/DescendingA: [ 23,17,14,6,13,10,1,5,7, 12]
7
5 6
1 10 12 13
14 17 23
Heap Sort -Max/DescendingA: [ 23,17,14,6,13,10,1,5,7, 12]
6
5 1
7 10 12 13
14 17 23
Heap Sort -Max/DescendingA: [ 23,17,14,6,13,10,1,5,7, 12]
1
5 6
7 10 12 13
14 17 23
Heap Sort -Max/DescendingA: [ 23,17,14,6,13,10,1,5,7, 12]
1
5 6
7 10 12 13
14 17 23
Heap Sort -Min/AscendingA: [ 8,17,14,6,13,10,1,5,7, 12]
8
17 14
6 13 10 1
5 7 12
Heap Sort -Min/AscendingA: [ 8,17,14,6,13,10,1,5,7, 12]
8
17 14
6 13 10 1
5 7 12
i=5
i=5
Heap Sort -Min/AscendingA: [ 8,17,14,6,13,10,1,5,7, 12]
8
17 14
6 12 10 1
5 7 13
i=4
i=4
Heap Sort -Min/AscendingA: [ 8,17,14,6,13,10,1,5,7, 12]
8
17 14
5 12 10 1
6 7 13
i=3i=3
Heap Sort -Min/AscendingA: [ 8,17,14,6,13,10,1,5,7, 12]
8
17 1
5 12 10 14
6 7 13
i=2i=2
Heap Sort -Min/AscendingA: [ 8,17,14,6,13,10,1,5,7, 12]
8
5 1
17 12 10 14
6 7 13
i=1i=1
Heap Sort -Min/AscendingA: [ 8,17,14,6,13,10,1,5,7, 12]
1
5 8
17 12 10 14
6 7 13
Heap Sort -Min/AscendingA: [ 8,17,14,6,13,10,1,5,7, 12]
5
12 8
17 13 10 14
6 7 1
Heap Sort -Min/AscendingA: [ 8,17,14,6,13,10,1,5,7, 12]
5
12 8
17 13 10 14
6 7 1
Heap Sort -Min/AscendingA: [ 8,17,14,6,13,10,1,5,7, 12]
7
12 8
17 13 10 14
6 5 1
Heap Sort -Min/AscendingA: [ 8,17,14,6,13,10,1,5,7, 12]
7
12 8
17 13 10 14
6 5 1
Heap Sort -Min/AscendingA: [ 8,17,14,6,13,10,1,5,7, 12]
8
12 14
17 13 10 7
6 5 1
Heap Sort-Min/AscendingA: [ 8,17,14,6,13,10,1,5,7, 12]
10
12 14
17 13 8 7
6 5 1
Heap Sort -Min/AscendingA: [ 8,17,14,6,13,10,1,5,7, 12]
12
13 14
17 10 8 7
6 5 1
Heap Sort-Min/AscendingA: [ 8,17,14,6,13,10,1,5,7, 12]
13
17 14
12 10 8 7
6 5 1
Heap Sort -Min/AscendingA: [ 8,17,14,6,13,10,1,5,7, 12]
14
17 13
12 10 8 7
6 5 1
Heap Sort-Min/AscendingA: [ 8,17,14,6,13,10,1,5,7, 12]
17
14 13
12 10 8 7
6 5 1