第十一章执行查询算法基本概念:三类查找方法:线性查找、树形查找、哈希表查找动态查找表:在查找的同时,对表做修改操作(如插入和删除),则相应的表称为动态查找表静态查找表:与动态查找表相反查找过程中对关键字需要执行的平均比较次数(也称平均比较长度作为衡量一个查找..
分类:
其他好文 时间:
2014-10-01 00:37:01
阅读次数:
338
二分查找又称折半查找,优点是比较次数少,查找速度快;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。
该算法要求:
1、 必须采用顺序存储结构。
2、 必须按关键字大小有序排列。
该算法时间复杂度最坏为:O(logn)
注意点有mid、low、high...
分类:
编程语言 时间:
2014-09-12 17:17:23
阅读次数:
179
Union Find
动态链接:
这里union(x,y) 相当于一个函数,这个函数建立两个点,x,y的链接。而connected(x,y)用于检测两点的链接性,即是否处于链接状态.
connected(0,7)就是用于检测0,7这两点是否相连。
Union find能做很酷帅的事情,迷宫连通图的查找~...
分类:
其他好文 时间:
2014-09-07 12:21:33
阅读次数:
281
索引是啥? 索引是数据结构,在数据结构有一章叫查找,在国外的一本书上名字就找索引。 准确的说就是: 加快查找的数据结构。 查找的那一章: 1.有序数组的二分查找 2.二叉查找 ,在此处,为了效率防止退化,引入了平衡的调整。 3.在上述的平衡的定义,为左右高度至多差1,要求太严,调整频露高,于是红黑树...
分类:
其他好文 时间:
2014-06-24 10:24:46
阅读次数:
156
三分查找:
#include
#define M 10
int main(void)
{
int front, near, mid1, mid2;
int n;
int found;
int a[M] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
front = 0;
near = M - 1;
found = 0;
printf("input n:");...
分类:
编程语言 时间:
2014-06-03 01:38:47
阅读次数:
399