sorting algorithms chris graves february 20, 2013 18.304

12
Sorting Algorithms Chris Graves February 20, 2013 18.304

Upload: norah-hudson

Post on 04-Jan-2016

216 views

Category:

Documents


3 download

TRANSCRIPT

Sorting Algorithms

Sorting AlgorithmsChris GravesFebruary 20, 201318.304

Bogosortdef bogosort(items):while not isSorted(items):items = shuffle(items)return itemsBubble Sortdef bubbleSort(items): n = len(items) while not n == 0: newn = 0 for i in range(1, n): if items[i-1] > items[i] (items[i-1], items[i]) = (items[i], items[i-1]) newn = i n = newn return itemsBubble Sort

Heapsortdef heapsort(items): build_max_heap(items) for i in reversed(range(1, len(items))): items[0], items[i] = items[i], items[0] items.heap_size -= 1 max_heapify(items, 0)Heapsort

Merge Sortdef merge_sort(items): if len(items) 0 or len(right) > 0: if len(left) > 0 and len(right) > 0: if left[0] 0: result.extend(left) return result else if len(right) > 0: result.extend(right) return result return result

Quicksortdef quicksort(items): if len(items) 1: return items pivot = rand_pop(items) less = [] greater = [] for x in items: if x