国脉信息学院 (程序设计类课程) 实验报告 课程名称算法与数据结构 姓名张三 系计算机科学与技术 专业 年级 学号 指导老师李小林 职称副教授 212 年11 月日 实验项目列表 序号实验项目名称成绩指导老师 1第七章检索及基本算法 2 3 4 5 6 7 8 9 1 11 12 福建农林大学计算机与信息学院实验报告 系计算机科学与技术专业年级 姓名张三学号实验室号___ _计算机号93 实验时间211 指导老师签字成绩 七 索 一、 目的和要求 掌握 索的不同方法,并能用高 言 索算法。 熟 掌握 序表和有序表的 索方法,以及静 索 的构造方法和 索算法,理解静 索 的折半 索方法。 熟 掌握二叉排序 的构造和 索方法。 熟悉各种存 构的特征以及如何 用 构解决具体 。 二、 内容和原理 内容 程 在二叉 索 中 除一个 点的算法。 程 Fibonacci 索算法。 原理 1)构造排序 ,每 入一个数就 行排序, 插入的 点, 除 点,没 除一个 点就返回到构造排序 的方法。 2 ) Fibonacci数 的 定f=,f1=1,fi=f(i-1)+f(i-2)(i≥ 2) 。 由 此 得 Fibonacci数列 ,1,1,2,3,5,8,13,21,34,55,89,144, 数 Fibonacci F 中元素按关 字 从小到大 序排列,并假定元素个数 fi小 1,即 n=fi-1 。第一次用待 关 字 k 与 F[f (i-1 n 比某个)] ,Key 比 ,其算法描述 如下 ① 若 k=F[f(i-1)],Key, 索成功, F[f(i-1)]k 所在 。 ② 若 kF[f(i-1)],Key, 下一次的 索范 下 度 ( fi-1 )- (f(i-1)+1)+1=fi-f(i-1)-1=f(i-2)-1 f(i+1)+1 到 fi-1 ,序列 F 是 序存 的 性表且 足 F[1] , key≤F[2] ,key≤≤ F[n] 。key,k 是已知的关 字 ,在 F 中 索关 字 k 的 。若找到返回其下 ,否 返回 . 三、 境 Windows XP 系 visual c++ 四、算法描述及 步 一 #include "stdio.h" #include "malloc.h" structBTnode { int data; structBTnode *lchild,*rchild; }*root; typedef structBTnode Node,*Nodep; void createtree(int data) { Node *node,*p,*q; node=(Nodep)malloc( sizeof (Node)); node->data=data; node->lchild=; node->rchild=; if (root==) { root=node; return ; } els...