リンククイックソートの解説クイックソートの概要クイックソートとは、下記のようにして並べ替えを行うアルゴリズムです。並べ替えの基本となる値(軸要素などと言われます)を選びます。軸要素の右側には軸要素以上のものだけが並ぶようにします。その後、上記の「軸要素の左側」の部分、「軸要素の右側」の部分のそれぞれについて、さらに、上記手順を繰り返していくことで、並べ替えが完了します。いうことで、今回も、左のような適当に並んでいる数字を、右のように並べ替える、というのを例にして考えていきたいと思います(説明の都合上、前回とは、数字の並び順が異なります)。元の数値584173296→ソート後123456789クイックソートの具体的な手順クイックソートとは、下記のようにして並べ替えを行うアルゴリズムです。リンクまず、並べ替えの基本となる値(軸要素などと言われます)を選びます。今回は一番左の値を軸要素として使います。以下の手順を繰り返します(※「左から順に探す」のと「右から順に探す」場所とが交差するまで続けます)。右から順に左方向へ軸要素未満となる値(※1)を探し、その2つの値を入れ替えます。最後に、※1の結果と軸要素を交換します。軸要素の右側には軸要素以上のものだけが並んでいます。クイックソートの実際の様子1巡目:1回目まず、一番左の値を軸要素とします。軸要素のすぐ右の要素から順に右方向へ軸要素以上となる値を探していきます。軸要素以上の値を発見するまで、右に進む584173296→その値に目印を付けておく584173296次に、一番右の要素から左方向へ軸要素以上となる値を探していきます。右方向へ軸要素以上となる値を探していきます。軸要素以上の値を発見するまで、右に進む524173896→その値に目印を付けておく524173896次に、左方向へ軸要素以上となる値を探していきます。右方向へ軸要素以上となる値を探していきます。軸要素以上の値を発見するまで、右に進む524137896→その値に目印を付けておく524137896次に、左方向へ軸要素以上となる値を探していきます。軸要素未満の値を発見するまで、左に進む524137896→その値に目印を付けておく524137896左から走査した値と右から走査した値が交差しているので、右から走査した値(赤色)と軸要素(黄色)を交換します。入れ替え後3241578962巡目:1回目ここで、軸要素(5)を境目として、左側には軸要素よりも小さい数値、右側には軸要素よりも大きい数値が並んでいることがわかると思います。そこで、さらに、軸要素の左側の4つの数字、右側の4つの数字について、クイックソートのアルゴリズムを繰り返していくことで、ソートが完了します。リンククイックソートの特徴的なところとしては、下記のような点があります。実用的なソートアルゴリズムとしては、非常にバランスのとれたアルゴリズムであることに間違いはありません。元々の値が、ランダムに並んでいる場合には、計算速度は非常に早く、計算時に要するメモリ空間もほとんどない。元々の値が、すでにソートされていたり、逆順にソートされており、軸要素として選んだ値が並べ替え対象の要素の中で最大又は最小となる場合には、計算速度は非常に遅い。クイックソートのエクセルマクロクイックソートマクロのダウンロードクイックソートのダウンロードはこちらからどうぞクイックソートマクロの使い方ダウンロードしたエクセルファイルを開きます。マクロを実行してもよいかどうかを聞くウィンドウが表示されますので、「はい」をえらびます。「Ctrl」と「Shift」を押したままで「Q」のキーを押します。これで、プログラムの実行が開始されます。免責事項このプログラムを実行したことによる一切の損害について責任は負いかねます。ご自身の責任でご利用ください。総収録時間162分)を無料プレゼント中です!このマニュアルで解説していることを一通り学べば、経理事務を行う上で最低限必要となる知識が得られます。