Jumat, 30 November 2018

Heap Sort


Nama : Rayhan Fadhillah
NPM  : 45118943
Kelas : 1DC02
Mata Kuliah : Algoritma & Pemrograman A
Dosen : Kunto Bayu A, ST


5. Heap Sort

Pengertian : Metode pengurutan data berdasarkan perbandingan.Walaupun metode ini lebih lambat daripada quick sort tapi heap sort memiliki keunggulan tersendiri yaitu pada kasus terburuknya adalah n log n.Heap Sort ini mengurutkan isi suatu larik masukan denganmemandang larik masukan sebagai suatu Complate Binary Tree(CBT).Lalu CBT ini dapat dikonversi menjadi suatu heap tree.Dan akhirnya CBT akan diubah menjadi suatu Priority Queue.


Contoh Program Heap Sort :


#include <iostream.h>
#include <stdio.h>
#include <conio.h>
void read(int a[10],int n)
{
    cout<<"reading\n";
    for(int i=0;i<n;i++)
        cin>>a[i];
}
void display(int a[10],int n)
{
    for(int i=0;i<n;i++)
        cout<<a[i]<<"\t";
}
void shellsort(int a[10],int n)
{
    int gap=n/2;
    do
    {
        int swap;
        do

        {
            swap=0;
            for(int i=0;i<n-gap;i++)
                if(a[i]>a[i+gap])
                {
                    int t=a[i];
                    a[i]=a[i+gap];
                    a[i+gap]=t;
                    swap=1;
                }
        }
        while(swap);
    }
    while(gap=gap/2);
}
void main()
{
    int a[10];
    int n;
    clrscr();
    cout<<"enter n\n";
    cin>>n;
    read(a,n);
    cout<<"before sorting\n";
    display(a,n);
    shellsort(a,n);
    cout<<"\nafter sorting\n";
    display(a,n);
    getch();
}
Contoh Gambar Heap Sort :



Tidak ada komentar:

Posting Komentar