Anda di halaman 1dari 9

TUGAS

PERANCANGAN DAN ANALISIS ALGORITMA 2

Disusun oleh :
Nama: Jiran Muhammad
NIM: F551 18 134
Kelas: C

PROGRAM STUDI S1 TEKNIK INFORMATIKA


JURUSAN TEKNOLOGI INFORMASI
FAKULTAS TEKNIK

UNIVERSITAS TADULAKO
2020
1. Make the steps of the followed the numbers 34, 15, 23, 9, 41, 26, 39, 11, 7, 28 by using Heap
Sort!
2. Buatlah sebuah fungsi yang memiliki O(n2)!

Jawaban:

1. Diketahui data:

Heap tree:

Build Max Heap:

pertama elemen dibagi menjadi 2 (10/2 = 5) maka proses variabel i berada pada indeks ke-4
atau node ke-5 (41). Karena parentnya lebih besar dari child maka proses penukaran tidak
terjadi.

Selanjutnya proses dilanjutkan ke node ke-4. Karena node ke-8(11) lebih besar dibandingkan
dengan parent dan node ke-9 maka dilakukan pertukaran seperti berikut.

Selanjutnya proses dilanjutkan ke node 3 (23). Karena node 7 lebih besar dibandingkan node
6 dan parentnya maka dilakukan pertukaran posisi seperti berikut.
Selanjutnya proses dilanjutkan ke node 2 (15). Karena node 5 lebih besar dibandingkan
dengan node 4 dan parentnya maka dilakukan pertukaran posisi seperti berikut.

Selanjutnya posisi node berpindah ke node 5 (15). Karena node 5 lebih kecil dari node 10
maka dilakukan penukaran posisi seperti berikut.

Selanjutnya posisi node berpindah ke node 1 (34). Karena node 2 lebih besar dibandingkan
dengan node 3 dan parentnya maka dilakukan penukaran posisi sebagai berikut.
Sehingga didapatkan array seperti berikut:

Selanjutnya tukar node pertama dengan node terakhir, lalu hapus node terakhir. Sehingga
didapatkan array dan juga tree nya sebagai berikut.

Jika parent lebih kecil dibandingkan dengan child maka dilakukan proses penukaran seperti
sebelumnya. Sehingga diperoleh array dan tree nya seperti berikut.

Lakukan dua cara diatas secara berulang-ulang seperti berikut.


Jika tinggal satu node maka algoritma berakhir dan didapatkan hasil pengurutannya seperti
berikut.

2.

#include <iostream>

using namespace std;

int bigOKuadrat(int a){

int count = 0;

for (int i=0; i<a; i++){

for (int j=0; j<i; j++){

cout<<i<<endl;}

}}

int main()

int a,b;

int tesKuadratik;

tesKuadratik=bigOKuadrat(4);

cout<<tesKuadratik;

return 0;}

Anda mungkin juga menyukai