- 博客(6)
- 收藏
- 关注
原创 快速排序
分成两部分,每次在一部分中随机选一个数字,将小于得数排在该数前面,大于得排在后面。def quickSort(A, begin, end): if begin >= end: return; pivot = partition(A, begin, end); quickSort(A, pivot+1, end); quickSort(A, be...
2018-04-13 14:02:47
80
原创 Recursive Merge Sort
不断的分成两部分,每次分成两部分后,将两部分合在一起。 因为不断 CALL 原函数,所以每次考虑被呼叫得两个部分已经被SORT。import math;def mergeSort(A, begin, end): if(begin == end): return; mid = begin + math.floor((end-begin)/2); merg...
2018-04-13 13:40:27
311
原创 Binary Search
一半一半找。import math;def bS(A, l, h, key): if l> h: return -1; m = l+math.floor((h-l)/2); if A[m] == key: return m; return bS(A,m+1, h, key) if key>A[m] else bS(A,...
2018-04-12 22:19:18
99
原创 Bubble-Sort
从头开始两两比较,更改位置。结束后再从头开始,直到无需更改位置时停止。def BubbleSort(A): flag = 1; while(flag == 1): flag = 0; for i in range(len(A) - 1): if A[i]>A[i+1]: A[i], A[i...
2018-04-12 20:52:54
297
原创 Selection-Sort
每次选择剩余得数字中最小得数字排到剩余数字得第一位。def SelectionSort(A, n): for i in range(n-1): k = i; for j in range(i+1,n): if(A[k]>A[j]): k = j; A[i], A[k] = swap...
2018-04-12 20:32:18
155
原创 Insertion-Sort Problem
在左手为空的时候,将一摞无顺序纸牌插入手中。从右向左比较。def InsertionSort(A, n): for i in range (1, n): key = A[i]; j = i-1; a = j; while(j>=0 and (A[j]> key)): A[j+1] = A[...
2018-04-05 11:54:18
195
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人