子树

作者: 只为此心无垠 | 来源:发表于2018-04-25 22:26 被阅读2次

子树
有两个不同大小的二叉树: T1 有上百万的节点; T2 有好几百的节点。请设计一种算法,判定 T2 是否为 T1的子树。
子树

def isEqual(self,T1, T2):
        if T1 == None or T2 == None: 
            return T1 == T2;
        
        if T1.val != T2.val:
            return False
        return self.isEqual(T1.right, T2.right) and self.isEqual(T1.left, T2.left)
        
    def isSubtree(self, T1, T2):
        # write your code here
        if T2 == None:
            return True
        if T1 == None:
            return False
    
        if self.isEqual(T1, T2): 
            return True
            
        if self.isSubtree(T1.right, T2) or self.isSubtree(T1.left, T2):
            return True 
              
        return False

相关文章

  • 树的遍历

    前序遍历:根节点 左子树 右子树中序遍历:左子树 根节点 右子树后序遍历:左子树 右子树 根节点层序遍历:每一层从...

  • 子树

    子树有两个不同大小的二叉树: T1 有上百万的节点; T2 有好几百的节点。请设计一种算法,判定 T2 是否为 T...

  • 二叉树

    Offer 27. 二叉树的镜像 比较简单,先保存左子树 ,翻转右子树到左子树位置,再次翻转左子树到右子树 Off...

  • 数据结构重学日记(十六)二叉树的概念

    概念 是每个结点最多有两个子树的树结构。左右子树顺序不能颠倒,统常子树被称为左子树和右子树。 5 种基本形态 空树...

  • 树、二叉树

    树的概念 节点、根节点、父节点、子节点、兄弟节点 、子树、左子树、右子树、空树 节点的度(degree):子树的个...

  • 二叉树的各种遍历

    中序遍历:左节点(左子树),中间节点,右节点(右子树)前序遍历:中间节点,左节点(左子树),右节点(右子树)后序遍...

  • 二叉树

    1、二叉树的遍历(递归思想) 中序遍历: 【左子树,节点,右子树】后序遍历: 【左子树,右子树,节点】中序遍历: ...

  • 二叉树遍历

    二叉树遍历的四种方式 前序遍历 根----左子树----右子树 中序遍历 左子树----根----右子树 后序遍历...

  • 二叉树及其遍历

    二叉树:每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(righ...

  • 二叉搜索树

    二叉树 每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(righ...

网友评论

    本文标题:子树

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