ヒープソート | アルゴリズムビジュアル大事典

シンボル

データ
数列の列A

入力
整数の列を入力します。
ヒープ構築
部分木に対してダウンヒープを行います。downHeap(A, i)
スワップとダウンヒープ
根からダウンヒープを行います。downHeap(A, 0)
根とヒープの末尾の値をスワップします。swap(A[0], A[heapSize-1])
ヒープ条件を満たす未ソートの部分が減っていきます。区間[0, heapSize)
出力
整列された整数の列を出力します。。

アニメーション

入力
ヒープソート | 入力

ヒープ構築
ヒープソート | ヒープ構築

スワップとダウンヒープ
ヒープソート | スワップとダウンヒープ

出力
ヒープソート | 出力