美文网首页
数据结构题目50:二叉树的删除

数据结构题目50:二叉树的删除

作者: 玲儿珑 | 来源:发表于2020-05-12 01:36 被阅读0次

题目:删除二叉树的结点。
这里所说的二叉树的删除是指 删除并释放该二叉树中数据域内容为item的那个结点和以该结点为根结点的子树。

解题思路:问题的解决分两步:
第1步:先找到满足条件的结点(若存在的话)。只要对该二叉树进行遍历(遍历过程中,访问某个结点的动作就是判断这个结点是否为满足条件的结点)。
第2步:若找到满足条件的结点,先将该结点(二叉树的根结点除外)的双亲结点的相应指针域置为null,然后释放以该结点为根结点的子树的所有结点的存储空间。

具体算法如下:
这里使用到建立二叉树buildBT()
使用到销毁二叉树destroyBT(T)

function deleteBT(T, item){
    let stack=new Array(MaxSize), q, p=T, top=-1
    if ( T.data == item ) {
        destroyBT(T)
        return null
    } else {
        do {
            while ( p!=null ) {
                if ( p.data==item ) {
                    if ( q.lchild==p ) {
                        q.lchild = null
                    } else {
                        q.rchild = null
                    }
                    destroyBT(p)
                    return T
                }
                stack[++top] = p
                q = p
                p = p.lchild
            }
            p = stack[top--]
            q = p
            p = p.rchild
        } while ( !(p==null&&top==-1) );
    }
}


var str = "ABC  DE  F  G   "
var ch = ''
var len = str.length, i=0
var T = buildBT()
deleteBT(T, 'G')

相关文章

  • 数据结构题目50:二叉树的删除

    题目:删除二叉树的结点。这里所说的二叉树的删除是指 删除并释放该二叉树中数据域内容为item的那个结点和以该结点为...

  • 一篇文章搞定面试中的二叉树题目(java实现)

    最近总结了一些数据结构和算法相关的题目,这是第一篇文章,关于二叉树的。先上二叉树的数据结构: 二叉树的题目普遍可以...

  • 一篇文章搞定面试中的二叉树题目(java实现)

    最近总结了一些数据结构和算法相关的题目,这是第一篇文章,关于二叉树的。 先上二叉树的数据结构: 二叉树的题目普遍可...

  • 二叉树常见面试题

    最近总结了一些数据结构和算法相关的题目,这是第一篇文章,关于二叉树的。先上二叉树的数据结构: 二叉树的题目普遍可以...

  • 二叉树高频面试题和答案

    先上二叉树的数据结构: 二叉树的题目普遍可以用递归和迭代的方式来解 1. 求二叉树的最大深度 2. 求二叉树的最小...

  • leetcode的每天一题更新(Maximum Depth of

    题目:给一个二叉树,返回这棵树的高度。解题思路:这个题目就是典型的数据结构的题目,自己的基础不够扎实,所以想了很久...

  • 剑指offer66题

    数据结构类题目 Tree 32-之字形打印二叉树[https://leetcode-cn.com/problems...

  • Rust 二叉树实现与遍历

    二叉树(Binary Tree) 是非常基础的数据结构。平衡树可以让树的查找,更新,插入,删除都是O(logN)的...

  • 二叉树算法题集合(java实现)

    先上二叉树的数据结构: 二叉树的题目普遍可以用递归和迭代的方式来解。 1.求二叉树的最大深度 2.求二叉树的最小深...

  • Python实现深度优先与广度优先

    二叉树的两种遍历是数据结构的经典考察题目, 广度遍历考察队列结构, 深度遍历考察递归 二叉树 深度优先 先序遍历(...

网友评论

      本文标题:数据结构题目50:二叉树的删除

      本文链接:https://www.haomeiwen.com/subject/fonmnhtx.html