扫码加入训练营

牢记核心词

学习得礼盒

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

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

  3.算法思路 分块索引查找分两步进行:

  (1)由索引表确定待查找记录所在的块;(可以折半查找也可顺序因为索引表有序)

  (2)在块内顺序查找。(只能用顺序查找,块内是无序的)

  5.算法分析

  分块查找算法的时间复杂度为:

  二叉排序树:对二叉排序树中序遍历,得到的肯定是递增的有序序列。所以插入和删除都要保证二叉排序树这一性质。

  1.二叉排序树的建立

  typedef struct Bsnode; //二叉排序树结点//

  { Retype data; //结点数据//

  struct Bsnode *Lchild,*Rchild;

  }BSN,*BSP; //结点及指针说明符//

  BSP createBst( ) //从键盘文件读入记录,建立二叉排序树的算法//

  { BSP T,S; keytype key;

  T=NULL; //置空树,T为二叉排序树根结点指针//

  scanf("%d",&key); //读入第一个记录的key//

  while(key!=0) //设key以0为结束符//

  { S=(BSP)malloc(sizeof(BSN)); //申请结点//

  S->data.key=key; //存入key//

  S->Lchild=S->Rchild=NULL; //置S结点左、右子树为空//

  T=BSTinsert(T,S); //将S结点插入到当前的二叉排序树T中//

  scanf("%d",&key); //读下一记录的key//

  }

  return(T); //返回根指针//

  }

考研公开课小程序

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

考研英语核心词汇营

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

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

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

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

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

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