この記事はPythonでのソートアルゴリズムの実装方法をまとめたコード(コード)ですので、ある程度の参考になりますので、困っている方は参考にしていただければ幸いです。
1. 挿入ソート: 挿入ソートの基本操作は、ソートされた順序付きデータにデータを挿入し、番号に 1 を加えた新しい順序付きデータを取得することです。少量のデータのソート; 最初のデータをソート済みとして扱い、その後最後のデータを取り出してその都度先頭に挿入してソート;
def insert_sort(ilist): for i in range(len(ilist)): for j in range(i): if ilist[i] < ilist[j]: ilist.insert(j, ilist.pop(i)) break return ilist ilist = insert_sort([4,5,6,7,3,2,6,9,8]) print ilist
2. バブルソート: 繰り返し行う並べ替える項目を訪問します。 一度に 2 つの要素を比較し、順序が間違っている場合はそれらを入れ替えるシーケンス。配列を訪問する作業は、交換が必要なくなるまで繰り返され、配列がソートされたことになります。
def bubble_sort(blist): count = len(blist) for i in range(0, count): for j in range(i + 1, count): if blist[i] > blist[j]: blist[i], blist[j] = blist[j], blist[i] return blist blist = bubble_sort([4,5,6,7,3,2,6,9,8]) print blist
3. クイック ソート: ソート対象のデータは、1 回のソートによって 2 つの独立した部分に分割されます。 pass (ここで、一方の部分のすべてのデータが、もう一方の部分のすべてのデータよりも小さい場合)、このメソッドを使用して、データの 2 つの部分をそれぞれすばやく並べ替えます。並べ替えプロセス全体は再帰的に実行できるため、データ全体が選択ソート: 最初のパスでは、ソート対象のレコード r1 ~ r[n] の中から最小のレコードを選択し、それを r1 と交換します。2 番目のパスでは、ソートされるレコード r2 ~ r[n] から最小のレコードを選択し、それを r2 と交換します。以下同様に、i 番目のパスのレコード r[i] がソートされます ~ r[n] から最小のレコードを選択し、それを r[i] と交換し、すべての並べ替えが完了するまで順序付けされたシーケンスが増加し続けるようにします
def quick_sort(qlist): if qlist == []: return [] else: qfirst = qlist[0] qless = quick_sort([l for l in qlist[1:] if l < qfirst]) qmore = quick_sort([m for m in qlist[1:] if m >= qfirst]) return qless + [qfirst] + qmore qlist = quick_sort([4,5,6,7,3,2,6,9,8]) print qlist
5. 二分探索: 主に 2 で割って探索します。
rree以上がPythonでのソートアルゴリズムの実装方法まとめ(コード)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。