算法分析- 开始学习
理想条件
这个作者很懒,什么都没留下…
展开
-
算法分析——选择排序
选择排序就是:首先找出最小的元素把他放到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 · 114 阅读 · 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 · 1000 阅读 · 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 · 174 阅读 · 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 · 220 阅读 · 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 · 201 阅读 · 0 评论