Python Program to Implement CockTail Sorting
01. Example: def cocktailShakerSorting(data): def swap(i, j): data[i], data[j] = data[j], data[i] upper = len(data) – 1 lower = 0 flag = False while (not flag and upper – lower …
01. Example: def cocktailShakerSorting(data): def swap(i, j): data[i], data[j] = data[j], data[i] upper = len(data) – 1 lower = 0 flag = False while (not flag and upper – lower …
01. Example: def introsort(data): maxdepth = (len(data).bit_length() – 1)*2 introSortingHelper(data, 0, len(data), maxdepth) def introSortingHelper(data, start, end, maxdepth): if end – start <= 1: return elif maxdepth == 0: heapSorting(data, …
01. Example: def heapSorting(data): buildMaxHeap(data) for i in range(len(data) – 1, 0, -1): data[0], data[i] = data[i], data[0] maxHeapify(data, index=0, size=i) def parent(i): return (i – 1)//2 def left(i): return …
01. Example: def mergeSorting(data, start, end): if end – start > 1: mid = (start + end)//2 mergeSorting(data, start, mid) mergeSorting(data, mid, end) mergeList(data, start, mid, end) def mergeList(data, start, …
01. Example: def quickSorting(data, start, end): if end – start > 1: p = partition(data, start, end) quickSorting(data, start, p) quickSorting(data, p + 1, end) def partition(data, start, end): pivot …
01. Example: def radixSorting(data, base=10): if data == []: return def keyFactory(digit, base): def key(data, index): return ((data[index]//(base**digit)) % base) return key largest = max(data) exp = 0 while base**exp …
01. Example: def combSorting(data): def swap(i, j): data[i], data[j] = data[j], data[i] gap = len(data) shrink = 1.3 flag = False while not flag: gap = int(gap/shrink) if gap < …
01. Example: def bubbleSorting(data): for i in range(len(data) – 1, 0, -1): flag = True for j in range(0, i): if data[j + 1] < data[j]: data[j], data[j + 1] …
01. Example: def gaps(size): length = size.bit_length() for k in range(length – 1, 0, -1): yield 2**k – 1 def shellSorting(data): def insertionSortingWithGap(gap): for i in range(gap, len(data)): temp = …
01. Example: def countingSorting(data, largest): c = [0]*(largest + 1) for i in range(len(data)): c[data[i]] = c[data[i]] + 1 c[0] = c[0] – 1 for i in range(1, largest + …