Menu
Coddy logo textTech

Implementation (Part 2)

Coddy'nin Heap Sort - DSA Serisi kursunda ders 6 / 9.

Şimdi yığını oluşturmayı ve maksimumu tekrar tekrar çıkarmayı birleştiriyoruz.

challenge icon

Görev

Orta

Şimdi hepsini bir araya getirerek tam algoritmayı oluşturun.

Bir tam sayı dizisi alan ve bunu artan düzende sıralanmış olarak döndüren heapSort adında bir fonksiyon yazın.

Önce, her yaprak olmayan düğümü n/2 - 1 indeksinden 0'a kadar aşağı doğru süzerek (sifting down) bir max-heap oluşturun. Ardından, kökü (en büyük değer) heap'in son elemanıyla tekrar tekrar değiştirin, heap'i bir birim küçültün ve yeni kökü tekrar aşağı doğru süzün.

Heap'i ilerledikçe küçültebilmek için mevcut heap size değerini alan bir sift-down yardımcı fonksiyonu kullanın.

Kendin dene

#include <stdlib.h>

int* heapSort(int* arr, int arr_size, int* returnSize) {
    // Kodu buraya yazın
    *returnSize = arr_size;
    return arr;
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Heap Sort - DSA Serisi bölümündeki tüm dersler