Sunday, 17 May 2020

HEAP


Heap adalah salah satu bentuk binary tree.
Heap terdiri dari 2 jenis yaitu:

 1. Max Heap
  Heap yang rootnya adalah data yang paling maksimum.
          

2. Min Heap
Heap yang rootnya adalah data yang paling minimum.


Insert pada heap dilakukan dengan meletakkan data tempat terakhir sesuai complete binary tree. Lalu selanjutnya akan dibandingkan dengan parentnya
Untuk max heap, swap dilakukan saat newdata>parent. Ini akan dilakukan terus menerus keatas sampai newdata<parent
Untuk min heap, swap dilakukan saat newdata<parent. Ini akan dilakukan terus menerus keatas sampai newdata>parent.
Contoh:




Delete pada heap hanya dapat dilakukan pada root. Setelah dihapus kemudian root akan digantikan dengan data terakhir sesuai complete binary tree. 

Untuk max heap:
  1. Jika leftchildren dan rightchildren > data maka bandingkan LC dengan RC, jika LC > RC maka swap data dengan LC, jika LC < RC maka swap data dengan RC.
  2. Jika leftchildren > data dan rightchildren < data maka swap data dengan LC.
  3. Jika leftchildren < data dan rightchildren > data maka swap data dengan RC.
Lakukan ke bawah berulang kali sampai leftchildren dan rightchildren < data.

Untuk min heap:
  1. Jika leftchildren dan rightchildren < data maka bandingkan LC dengan RC, jika LC < RC maka swap data dengan LC, jika LC > RC maka swap data dengan RC.
  2. Jika leftchildren < data dan rightchildren > data maka swap data dengan LC.
  3. Jika leftchildren > data dan rightchildren < data maka swap data dengan RC.
Lakukan ke bawah berulang kali sampai leftchildren dan rightchildren > data.

Contoh:















No comments:

Post a Comment

Data Structure Semester 2 Final Summary

NIM: 2301894331 Nama: Irvan Djanitra Dosen : Henry Chong (D4460) - Ferdinand Ariandy Luwinda (D4522) Kelas : CB01 LINKED LIST Linked li...