Loading 2024/09/bucket-cv-14h.py 0 → 100644 +24 −0 Original line number Diff line number Diff line M = 5 def bucket_sort(A:list): P = [ [] for j in range(M) ] # for i in range(len(A)): # P[A[i]].append(A[i]) for y in A: P[y].append(y) # for x in P: # print(x) i = 0 for x in P: while len(x): A[i] = x.pop(0) i += 1 A = [1,1,4,2,1,2,0,0,2,4,3] bucket_sort(A) print(A) 2024/09/quick-cv-14h.py 0 → 100644 +31 −0 Original line number Diff line number Diff line def quick_sort(A:list, start:int, end:int): pivot = A[start] i = start j = end while i<j: while A[i]<pivot and i<end: i += 1 while A[j]>pivot and j>start: j -= 1 if i<=j: A[i], A[j] = A[j], A[i] i += 1 j -= 1 if j>start: quick_sort(A, start, j) if i<end: quick_sort(A, i, end) A = [5,2,7,1,5,3,8,9,4,2,6,0] quick_sort(A, 0, len(A)-1) print(A) B = ['ahoj', 'ábc', 'xyz', 'dddddd', 'Y', 'uz'] quick_sort(B, 0, len(B)-1) print(B) 2024/09/quick-cv-16h.py 0 → 100644 +33 −0 Original line number Diff line number Diff line def quick_sort_rek(A: list, start:int, end:int): pivot = A[start] i = start j = end while i<j: while A[i] < pivot and i <= j: i += 1 while A[j] > pivot and j >= i: j -= 1 if i<=j: A[i], A[j] = A[j], A[i] i += 1 j -= 1 print(A) if j > start: quick_sort_rek(A, start, j) if i < end: quick_sort_rek(A, i, end) def quick_sort(A:list): quick_sort_rek(A, 0, len(A)-1) A = [2,5,2,8,1,2,3,7,2,0,8,2,1] quick_sort(A) print(A) Loading
2024/09/bucket-cv-14h.py 0 → 100644 +24 −0 Original line number Diff line number Diff line M = 5 def bucket_sort(A:list): P = [ [] for j in range(M) ] # for i in range(len(A)): # P[A[i]].append(A[i]) for y in A: P[y].append(y) # for x in P: # print(x) i = 0 for x in P: while len(x): A[i] = x.pop(0) i += 1 A = [1,1,4,2,1,2,0,0,2,4,3] bucket_sort(A) print(A)
2024/09/quick-cv-14h.py 0 → 100644 +31 −0 Original line number Diff line number Diff line def quick_sort(A:list, start:int, end:int): pivot = A[start] i = start j = end while i<j: while A[i]<pivot and i<end: i += 1 while A[j]>pivot and j>start: j -= 1 if i<=j: A[i], A[j] = A[j], A[i] i += 1 j -= 1 if j>start: quick_sort(A, start, j) if i<end: quick_sort(A, i, end) A = [5,2,7,1,5,3,8,9,4,2,6,0] quick_sort(A, 0, len(A)-1) print(A) B = ['ahoj', 'ábc', 'xyz', 'dddddd', 'Y', 'uz'] quick_sort(B, 0, len(B)-1) print(B)
2024/09/quick-cv-16h.py 0 → 100644 +33 −0 Original line number Diff line number Diff line def quick_sort_rek(A: list, start:int, end:int): pivot = A[start] i = start j = end while i<j: while A[i] < pivot and i <= j: i += 1 while A[j] > pivot and j >= i: j -= 1 if i<=j: A[i], A[j] = A[j], A[i] i += 1 j -= 1 print(A) if j > start: quick_sort_rek(A, start, j) if i < end: quick_sort_rek(A, i, end) def quick_sort(A:list): quick_sort_rek(A, 0, len(A)-1) A = [2,5,2,8,1,2,3,7,2,0,8,2,1] quick_sort(A) print(A)