基本查找算法
来源:互联网 发布:河北网络电视台 - 百度 编辑:程序博客网 时间:2024/05/20 02:29
顺序表查找
/** 顺序表查找 */int Sequential_Search(int *a, int n, int key){ int i ; for (i = 0; i < n; i++) { if(a[i] == key) return i; } return -1;}/** 顺序表查找改进 */int Sequential_Search(int *a, int n, int key){ int i = n-1; if(a[0] == key) return 0; a[0] = key; while (a[i] != key) { i--; } if(i == 0) return -1; return i;}
有序表查找
/** * 折半查找 */int Binary_Search(int *a,int n, int key){ int low,high,mid; low = 1; high = n-1; while (low <= high) { mid = (low + high) / 2; if(key < a[mid]) high = mid - 1; else if (key > a[mid]) low = mid + 1; else return mid; } return -1;}
/** * 插值查找:根据要查找的关键字key与查找表中最大最小记录的关键字比较后的查找方法,其核心就在于插值的计算公式(key - a[low])/(a[high] - a[low])。 */int interpolation_Search(int *a,int n, int key){ int low,high,mid; low = 0; high = n-1; while (low <= high) { mid = low + (high - low) *(key - a[low])/(a[high] - a[low]);//插值 if(key < a[mid]) high = mid - 1; else if (key > a[mid]) low = mid + 1; else return mid; } return -1;}
线性索引查找
- 稠密索引:在线性索引中,将数据集中的每个记录对应一个索引项
- 分块索引:把数据集的记录分成了若干块,并且这些块需要满足两个条件,块内无序,块间有序。
- 倒排索引
0 0
- 基本查找算法
- 数据结构:基本查找算法
- 基本查找算法
- 数据结构基本查找算法
- 基本查找算法
- 基本算法-二分查找
- 基本算法之二分法查找
- 基本的二分查找算法
- 基本的查找算法示例
- C++版基本算法1--顺序查找
- C++版基本算法2--折半查找
- C++版基本算法3--分块查找
- 找工作-基本查找排序算法总结
- 平衡二叉查找树的基本算法
- java数据结构和算法---基本查找排序
- 基本查找算法 PHP 实现 保存 顺序查找,二分查找 分块查找
- 算法系列(二)查找算法--基本查找和二分查找
- c/c++常用算法(13) -- 基本查找算法
- dz论坛在线咨询使用不了,解决办法
- jq自定义插件—$.fn的使用之(打字机)
- iOS项目开发中常用到的数据库之sqlite3并对列表进行模糊查询
- 熟悉ubuntu
- 【SSH】之 Struts
- 基本查找算法
- Ble4.0 APP开发总结
- 数据库MySQL-----------多表连接
- Git 常用命令速查
- 树状数组+离散化(hdu 5862)
- 把Android library分享到jCenter的方法
- docker学习7--宿主机和容器时间不一致问题
- dede使用phpMailer类配置微软邮箱发送邮件
- iOS上架流程