Pythonでソートアルゴリズムを実現――高速ソート
クイックソート(QuickSort)は実用的なアルゴリズムで、使いやすくて1つの「速い」字に使いやすくて、しかもそれは分治の策略を採用して、分治は名の通り「分而治之」で、1つの大きい問題を多くの小さい問題に分けて1つずつ解決して、この思想は大きいデータを処理する時かなり有効で、もっと詳しくて通俗的な原理の解析はここを見てください.
ダイレクトコード:
このコードは関数に統合でき、自分で最適化することができます.コードは最初の要素を初期基準とし,再帰的な方法で実現される.再帰は比較的効率の低い方法であるが,コード構造を明確に理解しやすくし,分治戦略のアルゴリズムの大部分を再帰で実現することができる.
ダイレクトコード:
def partition(sort_list, left, right):
key = sort_list[left]
while left < right :
while left < right and sort_list[right] >= key :
right -= 1
if left < right and sort_list[right] < key:
sort_list[left] = sort_list[right]
left += 1
while left < right and sort_list[left] >= key:
left += 1
if left < right and sort_list[left] < key:
sort_list[right] = sort_list[left]
right -= 1
sort_list[left] = key
return left
def quickSort(sort_list, left, right):
if left < right :
i = partition(sort_list, left, right)
quickSort(sort_list, left, right-1)
quickSort(sort_list, left+1, right)
return sort_list
このコードは関数に統合でき、自分で最適化することができます.コードは最初の要素を初期基準とし,再帰的な方法で実現される.再帰は比較的効率の低い方法であるが,コード構造を明確に理解しやすくし,分治戦略のアルゴリズムの大部分を再帰で実現することができる.