今週の火曜日に予定されているテストのために、さまざまな並べ替えおよび検索アルゴリズムを研究しようとしています。クイックソートアルゴリズムにたどり着くまで、すべてうまくいきました。私は本も他のリソースも持っていなかったので、オンラインでSparkNoteを読み始めました。テキストは理解できたと思い、オンラインで見つけたPowerPointの Quick Sort Algorithm の部分も読みました。
ただし、SparkNote は、アルゴリズムの段階的なプロセスのページで例を提供しましたが、最初にリストを配置する手順は示していませんでした。与えられたリストは[5 9 3 8 6 4 2 1 7 0]
. SparkNotes によると、左側のピボット (5) より小さい値と右側のピボットより大きい値を持つ配置されたリストは です [0 3 4 2 1 5 8 6 7 9]
。ただし、自分で手順を実行しようとすると、[ 4 0 3 1 2 5 6 8 7 9 ]
.
私が取った手順は次のとおりです。
5 9 3 8 6 4 2 1 7 0 // The initial list. Pivot = 5
5 0 3 8 6 4 2 1 7 9 // Switched 0 and 9.
5 0 3 1 6 4 2 1 7 9 // Switched 8 and 1
5 0 3 1 2 4 6 8 7 9 // Switched 6 and 2
4 0 3 1 2 5 6 8 7 9 // Switched 4 and 5 because the lines that point to the
// greater and smaller numbers crossed.
私の間違いはどこですか?また、5 未満の数字は左側にあり、5 より大きい数字は右側にあることがわかりますが、私の間違いは並べ替えに本当に影響しますか?