퀵정렬 메커니즘
def Qsort(lt, rt):
if lt<rt:
pos=lt #정렬하고자하는 영역의 시작지점
pivot=arr[rt] #정렬하고자하는 영역의 끝지점
for i in range(lt, rt):
if arr[i]<=pivot:
arr[i], arr[pos] = arr[pos], arr[i]
pos+=1
arr[rt], arr[pos] = arr[pos], arr[rt]
Qsort(lt, pos-1)
Qsort(pos+1, rt)
if __name__=="__main__":
arr=[45, 21, 23, 46, 15, 67, 11, 60, 20, 33]
print("Before sort : ", end=' ')
print(arr)
Qsort(0,9)
print("After sort : ", end='')
print(arr)
'파이썬 알고리즘 > DFS, BFS 활용' 카테고리의 다른 글
18. 병합정렬 (0) | 2022.11.22 |
---|---|
17. 피자배달거리(DFS) (0) | 2022.11.22 |
16. 사다리 타기(DFS) - 오른쪽, 왼쪽, 위 각각 별도로 접근 (0) | 2022.11.22 |
15.토마토(BFS 활용) (0) | 2022.11.11 |
14. 안전영역(BFS) vs 안전영역(DFS) (0) | 2022.11.11 |