集合
文章平均质量分 77
GKHack
这个作者很懒,什么都没留下…
展开
-
ListSet_无序表搜索
无序表搜索就是一个个的遍历, 从头开始逐个检查, 直到表中关键字值等于给定关键字值, 则查找成功. 或者查完整个表, 查找失败为止.实现代码:#include "iostream"#include "cstdio"#include "cstring"#include "algorithm"#include "assert.h"using namespace std;enu原创 2015-11-03 23:53:40 · 2233 阅读 · 0 评论 -
ListSet_对半搜索的递归算法
对半搜索是一种二分搜索, 将表划分为长度几乎相等的两个子表.共有函数Search()调用私有函数BSearch(). 而后递归调用BSearch()函数实现对有序表的对半搜索.mid, left, right均为元素下标, 如果当前表不为空, 则令x与l[mid]比较. 若两者相等, 则搜索成功. 若前者小于后者, 则继续查找左半部分, 否则查找右半部分. 下标范围分别为[left,原创 2015-11-04 16:29:37 · 2645 阅读 · 0 评论 -
ListSet_对半搜索的迭代算法
递归函数效率低, 常使用相应的迭代算法.mid, left, right均为元素下标, 如果当前表不为空, 则令x与l[mid]比较. 若两者相等, 则搜索成功. 若前者小于后者, 则继续查找左半部分, 否则查找右半部分. 下标范围分别为[left, mid - 1], [mid + 1, right]. 如果当前搜索表为空表, 搜索失败返回NotPresent.实现代码:原创 2015-11-04 16:31:16 · 2353 阅读 · 0 评论 -
ListSet_有序表搜索
一个有序表可以看成是一个已按关键字排序的有序集.表的最后添增设了一个被称作哨兵的元素, 关键字为INF. 若表长为n, 需要在l[n]位置存放哨兵元素. 增加哨兵元素以后, 在for循环中不再需要通过下标来判定是否已经查完整个表. 当表中l[i]的关键字值大于等于指定元素x的关键字时, for循环结束.搜索失败的平均搜索长度: n / 2 + 2.实现代码:#include "原创 2015-11-04 00:09:13 · 2088 阅读 · 0 评论