Python二叉树
树(Tree)表示通过边连接的节点,它是一种非线性数据结构,它具有以下属性。
- 一个节点被标签为"root "根节点。
- 除根节点外,每个节点都与一个父节点关联。
- 每个节点可以具有子节点(child)的编号。
无涯教程将一个节点指定为根节点,然后添加更多节点作为子节点,下面是创建根节点的程序。
创建根节点
class Node: def __init__(self, data): self.left=None self.right=None self.data=data def PrintTree(self): print(self.data) root=Node(10) root.PrintTree()
10插入节点到树
为了插入到树中,使用与上面创建的相同的节点类,并向其中添加一个插入节点,插入类比较值将该节点添加到父节点,并决定将其添加为左节点还是右节点。最后,PrintTree类用于打印树。
class Node: def __init__(self, data): self.left=None self.right=None self.data=data def insert(self, data): # 将新值与父节点进行比较 if self.data: if data < self.data: if self.left is None: self.left=Node(data) else: self.left.insert(data) elif data > self.data: if self.right is None: self.right=Node(data) else: self.right.insert(data) else: self.data=data # 打印树 def PrintTree(self): if self.left: self.left.PrintTree() print( self.data), if self.right: self.right.PrintTree() # 使用insert方法添加节点 root=Node(12) root.insert(6) root.insert(14) root.insert(3) root.PrintTree()
3 6 12 14
祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)
精选教程推荐
👇 以下精选教程可能对您有帮助,拓展您的技术视野
暂无学习笔记,成为第一个分享的人吧!
您的笔记将帮助成千上万的学习者