数据结构与算法分析
KR1
这个作者很懒,什么都没留下…
展开
-
算法导论 2.1-2 插入排序 (非递增)
《算法导论》 2.1-2 (伪代码)INSERTION-SORT(A)for j=A.length-1 to 1 key=A[j] i=j+1while i<A.length+1 and A[i]<key A[i-1]=A[i] i=i+1A[i]=key原创 2017-05-08 20:25:21 · 455 阅读 · 0 评论 -
二分查找(源码)
/* 二分查找 Q:判断X是否在一个大小为n的有序数组S中 . I:正整数n; 键X; 有序(非递减顺序)键数组S, 索引范围为1到n. O:location, x在S中的位置(若X不在S中,则为0). */#include#includevoid CreatArray(int *Array, int Size);int BinarySearch(int *Array原创 2017-05-08 21:03:24 · 834 阅读 · 0 评论 -
快速排序(源码)
/* 2.6 and 2.7 快速排序 Q:将n个键排列为非递减顺序. I:正整数n; 键的数组S,索引范围为1至n. O:数组S, 其中包含按非递减顺序排列的键. */#include#includevoid CreatArray(int *Array, int Size);int QuickSort(int *Array, int p, int r);int原创 2017-05-08 21:05:23 · 247 阅读 · 0 评论 -
算法导论 2.2-2
选择排序 代价 次数for j=1 to A.length-1 c1 n tem=A[j] c2 n-1 for i=j+1 to A.length c3 n^2(n+1)/4-n/2 if A[i] c4 约n^3 min=A[i] c5 约n^3 min_i原创 2017-05-09 01:25:21 · 338 阅读 · 0 评论 -
算法导论 2.1-4
AdditionBinary(A,B,C) CF=0 for i=1 to n if A[i]+B[i]+CF=0 C[i]=0 CF=0 elseif A[i]+B[i]+CF=1 C[i]=1 CF=0 elseif A[i]+B[i]+CF=2 C[i]=0 CF=1 elseif A[i]+B[i]+CF=3 C[i]=1原创 2017-05-09 15:15:27 · 263 阅读 · 0 评论 -
算法导论 2.1-3
LinearSearch(A,v) for i=1 to A.length if A[i]=v return i return NILfor循环的每次迭代开始前,数组A[1..i]中无与v相等的数。初始化:第一次循环迭代前(i=1时),A[0]数组中无这一项,没有找到与v相等的数,第一次循环迭代之前循环不变时成立。保持:每次判断A[i]=v之原创 2017-05-09 14:11:02 · 344 阅读 · 0 评论