算法-树

Posted mouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法-树相关的知识,希望对你有一定的参考价值。

type Tree struct {
     data int
     left *Tree
     right *Tree
}
1. 镜像二叉树
func mirrorTree(root *Tree) *Tree {
    if root == nil {
        return nil
    }
    root.left, root.right = root.right, root.left
    mirrorTree(root.left)
    mirrorTree(root.right)
}

func mirrorTree(root *Tree) *Tree {
    if root == nil {
        return nil
    }
    
    mirrorTree(root.left)
    mirrorTree(root.right)
    root.left, root.right = right, root.left
    return root
}

2. 二叉树最大深度
func maxLength(root *Tree) int {
    if root == nil {
        return 0
    }
    reutnr max(maxLenth(root.left,maxLentgh(root.right)), right) +1 
}
3. 合并二叉树
func merge(r1, r2 *Tree) *Tree {
    if r1 == nil {
        return r2
    }
    if r2 == nil {
        return r1
    }
    r1.val += r2.val
    r1.Left = mergeTrees(r1.Left, r2.Left)
    r1.Right = mergeTrees(r1.Right, r2.Right)
    return r1
}

以上是关于算法-树的主要内容,如果未能解决你的问题,请参考以下文章

片段(Java) | 机试题+算法思路+考点+代码解析 2023

二叉查找树简单实现

机器学习——模型树

weka 代码 算法 j48 决策树 c4.5

求数据结构算法平衡二叉树实现代码

算法手撕代码81~85