二分法查找(折半查找)的基本思想:前提:顺序存储且元素有序(1)确定该区间的中点位置:mid=(low+high)/2min代表区间中间的结点的位置,low代表区间最左结点位置,high代表区间最右结点位置(2)将待查a值与结点mid的关键字(下面用R[mid].key)比较,若相等,则查找成功,否...
分类:
其他好文 时间:
2014-10-23 20:29:48
阅读次数:
118
int bin_search(int a[],int len,int key)
{
int low=0;
int high=len-1;
while(low
//体 不执行。
{
int mid=low+(high-low)/2;
if(a[mid]==key) return mid;
else
if(a[mid]
low=mid+1;
else
high=mi...
分类:
其他好文 时间:
2014-10-19 14:19:27
阅读次数:
147
1、二分查找(Binary Search) 二分查找又称折半查找,它是一种效率较高的查找方法。 二分查找要求:线性表是有序表,即表中结点按关键字有序,并且表的存储结构为顺序结构。不妨设有序表是递增有序的。2、二分查找的基本思想二分查找算法思想:(1)首先确定该区间的中点位置: mid = ( l.....
分类:
编程语言 时间:
2014-10-18 01:53:51
阅读次数:
376
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。折半查找法的两种实现折半查找法思想:在有序表中,把待查找数据值与查找范围的中间元素值进行比较..
分类:
移动开发 时间:
2014-10-14 03:57:08
阅读次数:
185
/**查找(数组)1> 顺序查找 : 就是遍历数组每一个元素同该元素比较,但是问题是效率比较低2> 折半查找 : 条件是数组必须是有顺序的*/#include #define n 2int main(){ // 折半查找 /* 思路:将该元素同中间元素比较,如果有则存在,否则,判断该元...
分类:
编程语言 时间:
2014-10-12 20:10:18
阅读次数:
180
一、静态查找 顺序的查找 有序表查找 平均查找长度: 特点1、折半查找 log(n+1)-1 ...
分类:
其他好文 时间:
2014-10-06 17:39:40
阅读次数:
233
采用优先队列把一个普通线性表改造成赫夫曼树,再进行赫夫曼编码,得到一个同时记录了明文和对应编码的密码本。使用优先队列(最小堆)构造赫夫曼树是一种高效的方法,比每次都遍历整个线性表要快很多。我在构造密码本时确保密码本数组递增排序,这样每次插入新结点时可以折半查找插入,效率较高。有序的密码本在把明文编码成密文时也可以大大提高查找效率。...
分类:
其他好文 时间:
2014-09-28 16:14:43
阅读次数:
319
Cable master
Time Limit: 1000MS
Memory Limit: 10000K
Total Submissions: 24292
Accepted: 5200
Description
Inhabitants of the Wonderland have decided to hold a region...
分类:
其他好文 时间:
2014-09-24 23:45:18
阅读次数:
201
如果静态查找表是一个有序表,则可以使用折半查找。
折半查找的过程是:先确定待查记录所在的范围(区间),然后逐步缩小范围直到找到或找不到该记录为止。折半查找过程是以处于区间中间位置记录的关键字和给定值比较,若相等,则查找成功,若不等,则缩小范围,直至新的区间中间位置记录的关键字等于给定值或者查找区间的大小小于零时(表明查找不成功)为止。
关键字key与...
分类:
其他好文 时间:
2014-09-24 22:40:38
阅读次数:
213
Cable master
Time Limit: 1000MS
Memory Limit: 10000K
Total Submissions: 24292
Accepted: 5200
Description
Inhabitants of the Wonderland have decided to hold a region...
分类:
其他好文 时间:
2014-09-24 22:05:38
阅读次数:
190