数据结构-查找
程序小人生
你的指尖,拥有改变世界的力量!
展开
-
线性索引查找
1. 稠密索引:稠密索引是指将数据suoyin集中的每个记录对应一个索引项。特点: 稠密索引适合数据量小,关键字码有序表的查找。2. 分块索引:特点:把数据分成若干块,块间有序,块内无序;块间有序:可以利用折半查找,插值查找等方法;块内无序:只能顺序查找。复杂度分析:1.当块间和块内 都采用顺序查找时:设:n个记录分成m块,每个块有t条记录从公式可以得出:平均长度不仅取决于数据集的总记录数n,还与每个块的记录个数t有关。最佳情况为块数m和块中记录数t相同。2.块间采用折半查找或原创 2020-05-24 17:16:10 · 208 阅读 · 0 评论 -
有序表查找
1. 折半查找:公式: public int BinarySearch(int[] a, int key){ int low = 0; int high = a.length()-1; while(low <= high){ int mid = (low + high)/2; if(key < a[mid]){ high = mid - 1; }else if(key > a[mid]){ low = mid + 1; }else{ return原创 2020-05-24 16:44:58 · 230 阅读 · 0 评论 -
顺序表查找
顺序查找(Sequential Search) 又叫线性查找,是最基本的查找技术,它的查找过程是:从表中第一个(或最后一个)记录开始,逐个进行记录的关键字和给定值比较,若某个记录的关键字和给定值相等,则查找成功,找到所查的记录;如果直到最后一个(或第一个)记录,其关键字和给定值比较都不等时,则表中没有所查的记录,查找不成功。1.普通顺序查找:int Sequential_Search(int[] a, int key){ int len = a.length(); for(int i = 0;i&l原创 2020-05-24 15:56:43 · 1804 阅读 · 0 评论