Menu
Coddy logo textTech

Implementation (Part 1)

Lección 5 de 9 del curso Heap Sort - Serie de DSA de Coddy.

Construiremos Heap Sort a partir de su operación fundamental.

challenge icon

Desafío

Fácil

El corazón de Heap Sort es la operación sift-down. Vamos a construir eso primero.

Escribe una función llamada siftDown que reciba un arreglo arr (tratado como un montículo binario) y un índice i, y restaure la propiedad de max-heap en ese nodo empujándolo hacia abajo. Compara el nodo con sus dos hijos en 2*i + 1 y 2*i + 2; si el hijo más grande es mayor, intercámbialo con él y continúa desde la posición del hijo. Devuelve el arreglo.

Por ejemplo, siftDown([1, 10, 5, 3, 2], 0) devuelve [10, 3, 5, 1, 2].

Pruébalo tú mismo

#include <stdlib.h>

int* siftDown(int* arr, int arr_size, int i, int* returnSize) {
    // Escribe el código aquí
    *returnSize = arr_size;
    return arr;
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Heap Sort - Serie de DSA