对于步骤1和2的具体做法,见下列实例分析:长度为12的有序表画出折半查找判定树;12>2^3,即最大能画出3层的满二叉树,接着将剩余5个结点插入该树;先插入h,a的左右子树结点个数都为3,则到c,c的左右子树结点个数都为1,接着到g,g的左右子树都为0,最后h到了g的右边;先插入i,a的...
mid的位置就是(起点下标+ 终点下标)/2下取整 比如low = 1, high = 10, 因此mid = (1+10)/2 = 5 按照比较的次数生成判定树,比较1次的是根结点,比较2次的在第二层,比较3次的在第三层,...一次类推,也可以说是每次的mid即形成判定树的结点,左子树上的结点是有序表前半部分的所有结...
⑵ 考虑判定树的左子树,即将查找区间调整到左半区,此时的查找区间是[1,4],也就是说,左分支上为根结点的值减1,代表查找区间的高端high,此时,根结点的左孩子是(1+4)/2=2,如图(b)所示;⑶ 考虑判定树的右子树,即将查找区间调整到右半区,此时的查找区间是[6,10],也就是说,右分支...
对于步骤1和2的具体做法,见下列实例分析:长度为12的有序表画出折半查找判定树;12>2^3,即最大能画出3层的满二叉树,接着将剩余5个结点插入该树;先插入h,a的左右子树结点个数都为3,则到c,c的左右子树结点个数都为1,接着到g,g的左右子树都为0,最后h到了g的右边;先插入i,a的...