• 二叉树的实现


    def BinarTree(r):
        return [r,[],[]]
    
    def insertLeft(root,newBrach):
        t=root.pop(1)
        if len(t)>1:
            root.inset(1,[newBrach,t,[]])
        else:
            root.insert(1,[newBrach,[],[]])
        return root
    
    def insertRight(root,newBrach):
        t=root.pop(2)
        if len(t)>1:
            root.insert(2,[newBrach,[],t])
        else:
            root.insert(2,[newBrach,[],[]])
        return root
    
    def getRootVal(root):
        return root[0]
    
    def setRootVal(root,newVal):
        root[0]=newVal
    
    def getLeftChild(root):
        return root[1]
    
    def getRihtChild(root):
        return root[2]
    
    tree=BinarTree('a')
    insertLeft(tree,'b')
    insertRight(tree,'c')
    insertLeft(getLeftChild(tree),'d')
    insertRight(getLeftChild(tree),'e')
    insertLeft(getRihtChild(tree),'f')
    print(tree)
    

    def count(root):
        if root==[]:
            return 0
        else:
            n1=count(root[1])
            n2=count(root[2])
            n=1+n1+n2
            return n
    
    tree=['a',
            ['b',
                ['d',[],[]],
                ['e',[],[]],
            ],
            ['c',
                ['f',[],[]],
                []
            ]
        ]
    sum=count(tree)
    print(sum)
    
  • 相关阅读:
    软件工程个人作业01
    阅读计划及浅读问题
    引言作业1
    多态和异常分析课后
    大道至简七八章阅读
    接口与继承 课后实践
    构建执法阅读笔记02
    冲刺第五天
    学习进度条七
    冲刺第四天
  • 原文地址:https://www.cnblogs.com/tianqizhi/p/9111571.html
Copyright © 2020-2023  润新知