会员登录 - 用户注册 - 设为首页 - 加入收藏 - 网站地图 Python学习系列之Python如何实现二叉树的数据结构?!

Python学习系列之Python如何实现二叉树的数据结构?

时间:2025-11-04 13:40:47 来源:益强数据堂 作者:数据库 阅读:744次

  众所周知,学习系列Python是实现数据分析领域的首选编程语言,具有非常不错的源码库叉树作用,那么你知道如何利用Python实现二叉树数据结构吗?据结我们一起来看看。

  python实现二叉树的学习系列数据结构:

Python学习系列之Python如何实现二叉树的数据结构?

  二叉树的服务器租用排序方式:

  广度遍历(层次遍历)

  深度遍历:

  前序(根左右):把根放到最前面

  中序(左根右):把根放到中间

  后序(左右根):把根放到最后

class Node(): def __init__(self,item): self.item = item self.right = None self.left = None class Tree(): def __init__(self): self.root = None def add(self,item): node = Node(item) if self.root is None: self.root = node return else: queue = [self.root] while queue: cur = queue.pop(0) if cur.left is None: cur.left = node return else: queue.append(cur.left) if cur.right is None: cur.right = node return else: queue.append(cur.right) #广度遍历 def travel(self): if self.root is None: print() return else: queue = [self.root] while queue: cur = queue.pop(0) print(cur.item) if cur.left is not None: queue.append(cur.left) if cur.right is not None: queue.append(cur.right) #深度遍历:前序,中序,实现后序遍历 def forwordTravel(self,叉树root): if root is None: return print(root.item,end=) self.forwordTravel(root.left) self.forwordTravel(root.right) def middleTravel(self,root): if root is None: return self.middleTravel(root.left) print(root.item,end=) self.middleTravel(root.right) def backTravel(self,root): if root is None: return self.backTravel(root.left) self.backTravel(root.right) print(root.item,end=) tree = Tree() tree.add(0) tree.add(1) tree.add(2) tree.add(3) tree.add(4) tree.add(5) tree.add(6) tree.add(7) tree.add(8) tree.add(9) tree.travel() tree.forwordTravel(tree.root) print(\n) tree.backTravel(tree.root) print(\n) tree.middleTravel(tree.root) print(\n)

  python实现排序二叉树:

#排序二叉树 class Node(): def __init__(self,item): self.item = item self.left = None self.right = None class Tree(): def __init__(self): self.root = None def insert(self,item): node = Node(item) cur = self.root if cur is None: self.root = node return while True: if item < cur.item: if cur.left is None: cur.left = node return else: cur = cur.left else: if cur.right is None: cur.right = node return else: cur = cur.right def preTravel(self,root): if root is None: return print(root.item,end=) self.preTravel(root.left) self.preTravel(root.right) def middleTravel(self,root): if root is None: return self.middleTravel(root.left) print(root.item,end=) self.middleTravel(root.right) def backTravel(self,root): if root is None: return self.backTravel(root.left) self.backTravel(root.right) print(root.item,end=) tree = Tree() tree.insert(3) tree.insert(8) tree.insert(5) tree.insert(7) tree.insert(6) tree.preTravel(tree.root) print(\n) tree.middleTravel(tree.root) print(\n) tree.backTravel(tree.root) print(\n)

(责任编辑:人工智能)

推荐内容
  • 笔记本处理器i5和i7的区别及选择指南(解读i5和i7,选择最适合你的笔记本处理器)
  • SQL Server层次结构的展开模式
  • 获取SQL Server元数据的方法与配置
  • SQL Server主键列的正确查看方式
  • DIY澳洲电脑支架折纸教程(快速制作便捷实用的电脑支架,让你的工作更舒适)
  • SkyWalking 配上告警更优秀