扫码加入训练营

牢记核心词

学习得礼盒

计算机考研:数据结构常用算法精析(8)

2013-12-11 14:42:33来源:新东方在线编辑

  算法描述

  int Binsearch(sqlist r,keytype k) //对有序表r折半查找的算法//

  { int low,high,mid;

  low=1;high=r.len; //上下界初值//

  while(low<=high) //表空间存在时//

  { mid=(low+high)/2; //求当前mid//

  if (k==r.data[mid].key)

  return(mid); //查找成功,返回mid//

  if (k

  high=mid-1; //调整上界,向左部查找//

  else

  low=mid+1; //调整下界,向右部查找//

  }

  return(0); //low>high,查找失败//

  }

  判定树:用来描述二分查找过程的二叉树。n个结点的判定树的深度和n个结点的完全二叉树深度相同= 。但判断树不一定是完全二叉树,但他的叶子结点所在层次之差不超过1。所以,折半查找在查找成功时和给定值进行比较的关键字个数至多为

  ASL=

  分块查找算法及分析

  分块查找(Blocking Search),又称索引顺序查找(Indexed Sequential Search),是顺序查找方法的一种改进,目的也是为了提高查找效率。

  1.分块

  设记录表长为n,将表的n个记录分成b= 个块,每块s个记录(最后一块记录数可以少于s个),即:

  且表分块有序,即第i(1≤i≤b-1)块所有记录的key小于第i+1块中记录的key,但块内记录可以无序。

  2.建立索引

  每块对应一索引项:

  KeymaxLink

  其中Keymax为该块内记录的最大key;link为该块第一记录的序号(或指针)。

考研公开课小程序

本文关键字: 计算机 考研 数据结构

考研英语核心词汇营

背词+听课+练习+督学,学习得礼盒

更多资料
更多>>
更多内容

关注新东方在线考研服务号

获得21考研真题及答案解析

1. 打开手机微信【扫一扫】,识别上方二维码;
2.点击【关注公众号】,获取资料大礼包。

考研资料大礼包
近10年考研真题及答案免费下载
更多>>
更多公开课>>
更多>>
更多资料