binary Tree
第6章 二叉树 二叉排序树 用(ai+1,ai+2,…,aj)作为内部结点构造最佳二叉排序树T[i,j]的方法可如下进行:分别用ai+1,ai+2,…,aj为根,共考虑j-i棵二叉排序树,以ak为根的二叉排序树其左子树包括ai+1,…,ak-1,而包括这些关键码为内部结点的最佳二叉排序树T[i,k-1]已在前面的步骤确定,C[i,k-1]已求出,而以ak为根的二叉排序树其右子树包括ak+1,ak+2,…,aj,以这些关键码为内部结点的最佳二叉排序树T[k,j]也已在前面的步骤确定,C[k,j]已求出。对于ik?j,找出使C[i,k-1]+C[k,j]最小的那个k’,以ak’为根,T[i,k’-1]为左子树,T[k’,j]为右子树的那棵二叉排序树就是所求的T[i,j]。其花费C[i,j]等于其根的左子树花费C[i,k’-1]加上右子树花费C[k’,j],再加上结点总的权W[i,j],即C[i,j]=W[i,j]+ C[i,k’-1]+ C[k’,j]。 2、 二叉树中序遍历的非递归实现 中序遍历一棵非空树t时 ,首先应该进入t的左子树访问,此时由于t的根结点及右子树尚未访问,因此必须将t保存起来,放入栈中,以便访问完其左子树后,从栈中取出t,进行其根结点及右子树的访问;对t的左子树和右子树的遍历也是如此。在整个二叉树中序遍历的过程中,
原创力文档

文档评论(0)