Pythonのデータ構造とアルゴリズム - 4 リストのソート - 2 ホームソート、ヒープソート、マージソート
以下は、クイックソートの実装コードです。
# 左側の要素がすでに処理された場合、右側から探してtempより小さい値をleftに配置します。
while right > left: # rightとleftの間に要素がある限りループを続けます
while lis[right] >= temp and right > left: # rightの値がtemp以上なら、その値はそのままにしてrightを左へ移動
right -= 1
li ...
5月23日 18:03 投稿
ヒープ構造の理解と実装:データ構造入門から実践まで
前書き
コンピュータサイエンスにおいて、ヒープ(Heap)は優先度付きキューの実装や効率的なソートアルゴリズム(ヒープソート)に使われる重要なデータ構造です。ヒープは完全二分木をベースにしており、配列による順序表現が可能で、メモリ効率と操作速度のバランスに優れています。
1. 木構造の基礎
1.1 木とは
木は非線形データ構造で、ノードの階層的集合です。根( ...
5月16日 12:26 投稿
主要な内部ソートアルゴリズムの動作原理と実装解説
ソートアルゴリズムのカテゴリ概要
データ配列の順序づけを行う内部ソートは、比較手法とデータ配置の仕組みに基づき「挿入」「交換」「選択」「帰併(マージ)」「分配」の五つのクラスに大別されます。以下に各代表的なアルゴリズムの理論的性質と、構造化・変数名を変更した実装コードを示します。
1. 挿入系ソート
直接挿入ソート(Straight Insertion Sort)
配列を ...
5月9日 23:30 投稿