第十三周项目1验证算法
来源:互联网 发布:linux sip服务器 编辑:程序博客网 时间:2024/05/21 10:46
【项目1 - 验证算法】
运行并本周视频中所讲过的算法,观察结果并领会算法。
1、认真阅读并验证折半查找算法。请用有序表{12,18,24,35,47,50,62,83,90,115,134}作为测试序列,分别对查找90、47、100进行测试。
代码实现:
(1)查找90
#include <stdio.h>#define MAXL 100typedef int KeyType;typedef char InfoType[10];typedef struct{ KeyType key; //KeyType为关键字的数据类型 InfoType data; //其他数据} NodeType;typedef NodeType SeqList[MAXL]; //顺序表类型int BinSearch(SeqList R,int n,KeyType k){ int low=0,high=n-1,mid; while (low<=high) { mid=(low+high)/2; if (R[mid].key==k) //查找成功返回 return mid+1; if (R[mid].key>k) //继续在R[low..mid-1]中查找 high=mid-1; else low=mid+1; //继续在R[mid+1..high]中查找 } return 0;}int main(){ int i,n=10; int result; SeqList R; KeyType a[]= {12,18,24,35,47,50,62,83,90,115,134},x=90; for (i=0; i<n; i++) R[i].key=a[i]; result = BinSearch(R,n,x); if(result>0) printf("序列中第 %d 个是 %d\n",result, x); else printf("木有找到!\n"); return 0;}
(2)查找47
#include <stdio.h>#define MAXL 100typedef int KeyType;typedef char InfoType[10];typedef struct{ KeyType key; //KeyType为关键字的数据类型 InfoType data; //其他数据} NodeType;typedef NodeType SeqList[MAXL]; //顺序表类型int BinSearch(SeqList R,int n,KeyType k){ int low=0,high=n-1,mid; while (low<=high) { mid=(low+high)/2; if (R[mid].key==k) //查找成功返回 return mid+1; if (R[mid].key>k) //继续在R[low..mid-1]中查找 high=mid-1; else low=mid+1; //继续在R[mid+1..high]中查找 } return 0;}int main(){ int i,n=10; int result; SeqList R; KeyType a[]= {12,18,24,35,47,50,62,83,90,115,134},x=47; for (i=0; i<n; i++) R[i].key=a[i]; result = BinSearch(R,n,x); if(result>0) printf("序列中第 %d 个是 %d\n",result, x); else printf("木有找到!\n"); return 0;}
(3)查找100
#include <stdio.h>#define MAXL 100typedef int KeyType;typedef char InfoType[10];typedef struct{ KeyType key; //KeyType为关键字的数据类型 InfoType data; //其他数据} NodeType;typedef NodeType SeqList[MAXL]; //顺序表类型int BinSearch(SeqList R,int n,KeyType k){ int low=0,high=n-1,mid; while (low<=high) { mid=(low+high)/2; if (R[mid].key==k) //查找成功返回 return mid+1; if (R[mid].key>k) //继续在R[low..mid-1]中查找 high=mid-1; else low=mid+1; //继续在R[mid+1..high]中查找 } return 0;}int main(){ int i,n=10; int result; SeqList R; KeyType a[]= {12,18,24,35,47,50,62,83,90,115,134},x=100; for (i=0; i<n; i++) R[i].key=a[i]; result = BinSearch(R,n,x); if(result>0) printf("序列中第 %d 个是 %d\n",result, x); else printf("木有找到!\n"); return 0;}
运行结果:
(1)查找90
(2)查找47
(3)查找100
阅读全文
0 0
- 第十三周项目1-验证算法1
- 第十三周项目1Prim 算法验证
- 第十三周项目1-Prim算法验证
- 第十三周--项目--验证算法(1)
- 第十三周项目-验证算法(1)
- 第十三周项目1-验证算法2
- 第十三周项目1-验证算法3
- 第十三周 项目1-验证算法
- 第十三周项目1-验证算法4
- 第十三周项目1验证算法
- 数据结构第十三周项目1--验证算法
- 第十三周项目1验证算法
- 第十三周项目1 验证算法
- (第十三周项目)验证算法
- 第十三周 项目 验证算法
- 第十三周 项目 验证算法
- 第十三周项目-验证算法(1-Prim算法)
- 第十三周 项目 1 - 验证算法之Prim算法
- centos7安装jdk
- 个人总结55
- 构造器
- hue web报错 400 'json' or 'msgpack' parameter is required
- JAVA | 50
- 第十三周项目1验证算法
- 为什么增大HashMap容器类里的加载因子 会增加查询数据的时间开销
- 智慧人生
- C语言 判断该天是本年的第几天
- 12.04学习计划
- java.lang.NullPointerException
- 课后习题输出*号
- Dev ChartControl 用代码控制显示
- A Derivation of Backpropagation in Matrix Form(转)