算法分析- 开始学习
理想条件
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法分析——选择排序
选择排序就是:首先找出最小的元素把他放到A[0]中,然后从剩下的n-1 个元素中找到最小的元素放到A[1]中,……直到全部排好顺序 C语言代码如下: # include <stdio.h> int number[100] ; void selectionsort (int a[],int n) { for(int i=0; i<n-1; i++) { ...原创 2019-10-15 16:26:07 · 192 阅读 · 0 评论 -
算法分析——合并两个已排序的表
两个已经是升序的表,将两个表合并,A[p……q] 和A[q+1……r]. 使用两个指针 S 和 T分别指向A[p] 和 A[q+1] ,在用一个空数组作为暂存器B[p……r], 每一次比较A[s] 和A[t],将小的数放入B,然后更新指针,是指针加一。当s= q+1或t= r+1时,将剩余元素添加到数组B,结束算法。 C语言代码如下: # include <stdio.h> int A...原创 2019-10-15 16:18:56 · 1177 阅读 · 0 评论 -
算法分析——二分搜索
首先,数组是有序的,在进行二分搜索。每次与中间的元素对比,如果是目标元素则输出,否则 low = mid+1(high = mid -1); 然后继续这样直到找到目标元素 C语言代码如下 # include <stdio.h> int A[100]; int binarysearch(int A[],int n,int x) { int low = 1; int high = n;...原创 2019-10-13 23:50:01 · 221 阅读 · 0 评论 -
算法分析——线性搜索
线性搜索,一个一个对比,所以算法的时间复杂度是O(n)。 C语言代码 `# include <stdio.h> int A[100]; int linearsearch(int A[],int n,int x) { int j = 0; while (j<n && x != A[j]) { j = j+1; } if(x == A[j]) return j; } ...原创 2019-10-13 23:39:06 · 300 阅读 · 0 评论 -
算法分析——插入排序
算法分析——插入排序 算法分析——插入排序 插入排序是将前 i 个排序(i 从1开始),使其成为一个有序表,然后将 i +1,与之前排好序中的进行比较,使其成为 i+1 个元素的有序表,然后继续,直到全部排完。 C语言代码 include <stdio.h> int A[100]; void insertsort(int[],int n) { for (int i=1;i<n...原创 2019-10-12 11:18:02 · 260 阅读 · 0 评论
分享