性能用ASL(查找成功时的平均查找长度)来衡量
1 template <class Type> int BinSearch (vector<Item<Type>*>& dataList, int length, Type k){ 2 int low=1, high=length, mid; 3 while (low<=high) { //结束条件!! 4 mid = (low+high)/2; 5 if (k<dataList[mid]->getKey()) 6 high = mid-1; //右缩检索区间 7 else if (k>dataList[mid]->getKey()) 8 low = mid+1; //左缩检索区间 9 else return mid; //成功返回位置 10 } 11 return 0; 12 } //检索失败,返回0
开散列方法
闭散列方法(开地址法)
基本聚集:堆积,散列地址不同的记录,争夺同一后继散列地址,导致很长的探查序列,伪随机探查和二次探查可以消除基本聚集
二级聚集:如果两个关键码散列到同一基地址还是得到同一探查序列。
原文:https://www.cnblogs.com/yalphait/p/10085526.html