《数据结构题集》答案 第9章 查找.doc

《数据结构题集》答案 第9章 查找.doc

ID:48621215

大小:72.02 KB

页数:20页

时间:2020-01-30

《数据结构题集》答案 第9章 查找.doc_第1页
《数据结构题集》答案 第9章 查找.doc_第2页
《数据结构题集》答案 第9章 查找.doc_第3页
《数据结构题集》答案 第9章 查找.doc_第4页
《数据结构题集》答案 第9章 查找.doc_第5页
资源描述:

《《数据结构题集》答案 第9章 查找.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第九章查找9.25intSearch_Sq(SSTableST,intkey)//在有序表上顺序查找的算法,监视哨设在高下标端{  ST.elem[ST.length+1].key=key;  for(i=1;ST.elem[i].key>key;i++);  if(i>ST.length

2、

3、ST.elem[i].key

4、_Bin_Recursive(SSTableST,intkey,intlow,inthigh)//折半查找的递归算法{  if(low>high)return0;//查找不到时返回0  mid=(low+high)/2;  if(ST.elem[mid].key==key)returnmid;  elseif(ST.elem[mid].key>key)    returnSearch_Bin_Recursive(ST,key,low,mid-1);  elsereturnSearch_Bin_Recursive(ST,k

5、ey,mid+1,high);  }}//Search_Bin_Recursive9.27intLocate_Bin(SSTableST,intkey)//折半查找,返回小于或等于待查元素的最后一个结点号{  int*r;  r=ST.elem;  if(key=r[ST.length].key)returnST.length;  low=1;high=ST.length;  while(low<=high)  {    mid=(low+high)/2;    

6、if(key>=r[mid].key&&key

7、                int*elem;                intlength;                Indexidx[MAXBLOCK];//每块起始位置和最大元素,其中idx[0]不利用,其内容初始化为{0,0}以利于折半查找                intblknum;//块的数目              }IdxSqList;//索引顺序表类型intSearch_IdxSeq(IdxSqListL,intkey)//分块查找,用折半查找法确定记录所在块,块内采用顺序查找法{

8、  if(key>L.idx[L.blknum].maxkey)returnERROR;//超过最大元素  low=1;high=L.blknum;  found=0;  while(low<=high&&!found)//折半查找记录所在块号mid  {    mid=(low+high)/2;    if(key<=L.idx[mid].maxkey&&key>L.idx[mid-1].maxkey)      found=1;    elseif(key>L.idx[mid].maxkey)      low=mi

9、d+1;    elsehigh=mid-1;  }  i=L.idx[mid].firstloc;//块的下界  j=i+blksize-1;//块的上界  temp=L.elem[i-1];//保存相邻元素  L.elem[i-1]=key;//设置监视哨  for(k=j;L.elem[k]!=key;k--);//顺序查找  L.elem[i-1]=temp;//恢复元素  if(k

10、监视哨,则必须先保存相邻块的相邻元素,以免数据丢失.9.29typedefstruct{                LNode*h;//h指向最小元素                LNode*t;//t指向上次查找的结点             }CSList;LNode*Search_CSList(CSLis

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。