生活随笔
收集整理的這篇文章主要介紹了
数据结构(6)二叉树
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
二叉樹
class Node(object):""""""def __init__(self, item):self.elem = itemself.lchild = Noneself.rchild = Noneclass Tree(object):"""二叉樹"""def __init__(self):self.root = Nonedef add(self, item):node = Node(item)if self.root is None:self.root = nodereturnqueue = [self.root]while queue:cur_node = queue.pop(0)if cur_node.lchild is None:cur_node.lchild = nodereturnelse:queue.append(cur_node.lchild)if cur_node.rchild is None:cur_node.rchild = nodereturnelse:queue.append(cur_node.rchild)
二叉樹三種遍歷
def breadth_travel(self):"""廣度遍歷"""if self.root is None:returnqueue = [self.root]while queue:cur_node = queue.pop(0)print(cur_node.elem, end=" ")if cur_node.lchild is not None:queue.append(cur_node.lchild)if cur_node.rchild is not None:queue.append(cur_node.rchild)def preorder(self, node):"""先序遍歷"""if node is None:returnprint(node.elem, end=" ")self.preorder(node.lchild)self.preorder(node.rchild)def inorder(self, node):"""中序遍歷"""if node is None:returnself.inorder(node.lchild)print(node.elem, end=" ")self.inorder(node.rchild)def postorder(self, node):"""后序遍歷"""if node is None:returnself.postorder(node.lchild)self.postorder(node.rchild)print(node.elem, end=" ")
二叉樹知中及先或后序,求二叉樹
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的数据结构(6)二叉树的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。