【数据结构 严蔚敏版】 查找基本操作
顺序查找过程:从表中的最后一个记录开始,逐个进行记录的关键字与给定值进行比较,若某个记录的关键字与给定值相等,则查找成功,找到所查的记录;反之,若直到第一个记录,其关键字和给定值比较都不相等,则表明表中没有所查的记录,查找失败。
算法描述为
int Search(int d,int a[],int n)
{
/在数组a[]中查找等于D元素,若找到,则函数返回d在数组中的位置,否则为0。其中n为数组长度/
int i ;
/从后往前查找/
for(i=n-1;a!=d;–i)
return i ;
/如果找不到,则i为0/
}
二分查找又称折半查找,它是一种效率较高的查找方法。
【二分查找要求】:1.必须采用顺序存储结构2.必须按关键字大小有序排列。
【优缺点】折半查找法的优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。
【算法思想】首先,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。
重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。
【算法复杂度】假设其数组长度为n,其算法复杂度为o
【数据结构 严蔚敏版】 查找基本操作相关推荐
- 【数据结构 严蔚敏版】 二叉树 基本操作
计算机科学中,二叉树是每个结点最多有两个子树的树结构.通常子树被称作"左子树"(left subtree)和"右子树"(right subtree).二叉树常被 ...
- 有关数据结构基础知识(数据结构 严蔚敏版)
1. 数据结构是一门研究非数值计算程序设计中的操作对象 以及这些对象之间的关系和操作的学科 2. 研究包括逻辑结构和存储结构 1) 逻辑结构(从具体问题抽象出来的数学模型)分为 集合结构 线性结构 树 ...
- 字符串静态顺序结构C/C++实现(数据结构严蔚敏版)
1.头文件String.h #include<stdio.h> #include<stdlib.h> #include<string.h> #include< ...
- 队列链式结构C/C++实现(数据结构严蔚敏版)
1.头文件Queue.h; #include<iostream> #include<iomanip>//格式控制头文件 #include<stdlib.h> usi ...
- 队列顺序结构C/C++实现(数据结构严蔚敏版)
1.头文件Queue.h #include<iostream> using namespace std;//定义4个空间,留出一个作为标志位,当Q.rear+1 / MAXQSIZE = ...
- 栈C/C++实现(数据结构严蔚敏版)
1.头文件:stack.h #include<iostream> #include<malloc.h> using namespace std; typedef int Sta ...
- 循环链表C/C++实现(数据结构严蔚敏版)
1头文件LinkList.h: #include<iostream> using namespace std; #include<malloc.h>#define error ...
- 线性表的C/C++实现(数据结构 严蔚敏版)
下面的代码是项目文件:一个头文件.一个源文件.一个测试文件 1.头文件List.h: #include<iostream> using namespace std; #include< ...
- [数据结构-严蔚敏版]P95矩阵压缩-特殊矩阵的存储(对称矩阵,三角矩阵)
对称矩阵的存储: 代码如下: #include <iostream> using namespace std;int main() {int n;cin >> n;int *a ...
最新文章
- 填平新版本Xcode安装插件不成功的坑
- Python列表和字典的方法总结
- 高性能 HTML5 地铁样式的应用程序中的内容
- linux python pymysql,Python之pymysql的使用
- linux下用户及用户组的管理
- Virtuabox 虚拟机克隆方法
- C#中的Boolean类型
- 5.abp框架code first方式删除表
- Music-Downloader:功能强大的音乐下载器
- VINS-Mono关键知识点总结——边缘化marginalization理论和代码详解
- 互联网加速职场变革 大数据催生业界十大热门职业
- 360一直把oracle当成病毒,为什么360一直把软件程序当做木马?
- Android渠道包构建流程
- 美团旅行前端技术体系的思考与实践
- 全网最易懂的Flink背压问题,看不懂你打我~
- 纪念谢尔盖·科尔塔科夫
- 直流放大器2级电路设计
- 用python爬取考研信息网_用Python爬取了考研吧1000条帖子,原来他们都在讨论这些!...
- 锁消除、锁粗化、偏向锁、适应性锁
- 笔记本 windows10使用耳机看视频 刚开始会有几秒的无声