立ち位置・仕様
- いろんなアルゴリズムをコピペできるように記録するのみ
- 最適化が目的でない
- たまにメモとして解説を残す
- 最低限でまとめる
- データを抽出しやすいように個別のIDを付与
- あるアルゴリズムにおいて、他のアルゴリズムが登場する際にはそのIDを付与
- IDは16進数表記
- なるべく最低限なパッケージで実装
- なるべく特殊なオブジェクト型は使用しない
TargetID
00.00.00.05
ReferenceID
クイックソート
def quickSort(l):
if len(l) <= 1:
return l
pivot = l[0]
left = []
center = []
right = []
for v in l:
if v < pivot:
left.append(v)
elif v > pivot:
right.append(v)
else:
center.append(v)
left = quickSort(left)
right = quickSort(right)
return left + center + right
使用方法
l = [5,2,3,6,2,1]
l = quickSort(l):
print(l) # [1, 2, 2, 3, 5, 6]