Python实现一个二叉树类

    xiaoxiao2021-03-25  53

    最近在学习Python,之前只是在写脚本,做一些数据处理的工作,今天开始看Python的面向对象,熟悉了语法之后,想实现一个二叉树类练练手。

    以前写C++比较多,用Python写二叉树好不习惯,没有指针,没有引用!!!

    所以我就遇到了一下几个问题:

    1、该怎么把二叉树各个节点连起来?

    2、怎么定义内部数据成员?

    3、如何实例化左右孩子?

    在网上也没找到比较简单比较通用的Python二叉树类实现,所以我花了点时间自己写一个。

    class Tree: def __init__(self, val = '#', left = None, right = None): self.val = val self.left = left self.right = right #前序构建二叉树 def FrontBuildTree(self): temp = input('Please Input: ') node = Tree(temp) if(temp != '#'): node.left = self.FrontBuildTree() node.right = self.FrontBuildTree() return node#因为没有引用也没有指针,所以就把新的节点给返回回去 #前序遍历二叉树 def VisitNode(self): print(self.val) if(self.val != '#'): self.left.VisitNode() self.right.VisitNode() if __name__ == '__main__': root = Tree() root = root.FrontBuildTree() root.VisitNode() 有什么不对的地方,还请多指教!

    转载请注明原文地址: https://ju.6miu.com/read-37029.html

    最新回复(0)