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 投稿