当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

 ·一个菜问题    »显示摘要«
    摘要: 一个binarytree的程序,请问在vc中如何编译? ......
    摘要: 在cpropertydlg::oninitdialog()中代码如下: m_propertysheet = new cmypropertysheet("test"); m_propertysheet->create(this,ws_child|ws_visible,0); 可是结果对话框中怎么没有显示这个属性表? 我又加了如下代码: m_propertyshe......


清华教材433查找树的结点删除

如被删结点是根结点又分以下两种情况:  
   
    第二种情况:被删结点有左子树,则用被删结点的左子结点作为根结点,并把被  
  删结点的右子树作为被删结点的左子树按中序遍历的最后一个结点的右子树:  
   
  我是这样理解的:由BST性质可知r->rchild>root>l->lchild,删除根结点后,左子树  
  变为根结点,原根结点右子树作为左子树按中序遍历的最后一个结点的右子树,  
  也就是说原根结点的右子树插到原根结点的左子树某个结点的右子树上上,  
  而此结点原来在根结点的右子树上,故应大于现在的新根结点,而现在插入到  
  新根结点的左子树上,由BST性质可知左子树上的所有结点都小于根结点,那删除后  
  二叉排序树的性质不就不成立了吗?请教  
 

NO.1   作者: pebble

呵呵,看不明白你怎么想的,画张图,很好理解的  
                    5  
                /       \  
              2           8  
            /   \       /   \  
          1       4   6       10  
                /  
              3  
  删除根  
                   
              2           8  
            /   \       /   \  
          1       4   6       10  
                /  
              3  
  原左子作为根,其中序遍历的最后一个节点是4,  
   
              2          
            /   \        
          1       4  
                /  
              3  
  把原来的右子树作为   4   的右子树  
              2          
            /   \        
          1       4  
                /   \  
              3       8  
                    /   \  
                  6     10  
  完成!


    摘要: 我没有手机,但想发短信,到哪里可申请短信网关?要便宜而收费方便的 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE