/**
* 实验题目:
* 求折半查找成功时的平均查找长度
* 实验目的:
* 深入掌握折半查找过程和折半查找算法分析
* 实验内容:
* 设计程序,建立有序序列R[0...n-1]进行二分查找产生的判断树,
* 在此基础上完成如下功能:
* 1、输出n=11时的判定树并求成功情况下的平均查找长度ASL。
* 2、通过构造判定树可以求得成功情况下的平均查找长度ASL1;当将
* 含有n个结点的判定树看成是一颗满二叉树时,其成功情况下的平均
* 查找长度的理论值ASL2约为log2(n+1)-1。对于n=10、100、1000、
* 10000、100000和1000000,求出其ASL1和ASL2和两者的差值。
*/
#include #include #include
typedef struct node
{
long index; // 当前结点对应的记录下标
int level; // 当前结点的层次->树的高度
struct node *lchild; // 左孩子指针
struct node *rchild; // 右孩子指针
}dec_node; // 判定树结点类型
/**
* 功能: