顺序表的查找
来源:互联网 发布:手机淘宝一元起拍在哪 编辑:程序博客网 时间:2024/05/16 17:24
在顺序表的顺序存储结构中,介绍了顺序表的查找操作,即顺序查找,依次遍历和比较。
顺序表的结构:
#define MAXSIZE 100typedef struct node{ int data[MAXSIZE]; int length;}List;
下面介绍其他两种性能更好好的查找算法:
1. 设置“前哨站”
在线性表的顺序存储结构中,可以在线性表的位置0设置一个前哨战(如果以位置1为存储开始位的话)或者线性表最后增加一个前哨战,这样就能在循环阶段减少一个判断条件,这种方法可以有效地提高查找的效率。
int search_list(List l,int x){ int n,i=0; n=l.length ; l.data [n]=x ; //增加一个空间,设置前哨战 while(l.data [i]!=x) //减少一个判断条件 i++; if(i==n) return (-1);//未找到 else return i;}2. 有序表的查找:折半法
当线性表是有序时,可以采用折半法进行查找。
int Binsearch(List l,int x){ int low,mid,high; low=0;high=l.length -1; while(low<high) { mid=(low+high)/2; //取区间中点 if(l.data [mid]==x) return mid; else if(l.data [mid]<x) low=mid+1; //在右区间查找 else high=mid-1; //在左区间查找 } return -1;}
1 0
- 顺序表的查找
- 顺序表的查找
- 顺序表的查找
- 顺序表的查找
- 顺序表的查找
- 顺序表的查找
- 顺序表的查找
- 顺序表的查找
- 顺序表的查找
- 顺序表的查找
- 顺序表的查找
- 线性表的查找-顺序查找
- 顺序表查找的基本知识
- C++ 顺序表的查找
- 线性表的顺序查找
- 线性表的顺序查找
- 顺序表的查找删除
- 【数据结构】顺序表的查找
- 转载:在Ubuntu上安装boa,非常详细
- Android开发艺术探索(研读笔记)——02-Activity的启动模式
- 第八周实践项目3-指向学生类的指针
- 关于在牛客网上做题的解析之数据结构(每日20道题,记录错误和不懂的题)
- 1、SDK、目录结构、adb命令、事件写法
- 顺序表的查找
- [iOS]编译报错:ld: symbol(s) not found for architecture x86_64
- 校园网免流量看视频,上谷歌,脸书,推特
- 【数据结构和算法15】二叉树排序
- java常用类
- FJNUOJ1159
- MapReduce源码分析之InputFormat
- hihoCoder--1268--九宫(全排列)
- [poj 3140] Contestants Division 树形DP