python 實現二叉樹相關演算法

來源:互聯網
上載者:User

標籤:str   構建   實現   while   bsp   strong   new   post   演算法   

一、構建與遍曆二叉樹

 

class Node(object):    def __init__(self,item):        self.key=item        self.left=None        self.right=None

 

class BinaryTree(object):    def __init__(self):        self.root=None    def addNode(self,item):        new_node = Node(item)        if self.root is None:           self.root=new_node        else:            stack=[]            stack.append(self.root)            while True:                node=stack.pop(0)                if node.left is None:                    node.left=new_node                    return                elif node.right is None:                    node.right=new_node                    return                else:                    stack.append(node.left)                    stack.append(node.right)    def traverse(self):  #層次遍曆        if self.root is None:            return None        else:            s=[]            s.append(self.root)            while len(s) > 0:                node = s.pop(0)                print(node.key)                if node.left is not None:                    s.append(node.left)                if node.right is not None:                    s.append(node.right)    def preOrder(self,root):        if root is None:            return None        print(root.key)        self.preOrder(root.left)        self.preOrder(root.right)    def inOrder(self,root):        if root is None:            return None        self.inOrder(root.left)        print(root.key)        self.inOrder(root.right)    def postOrder(self,root):        if root is None:            return None        self.postOrder(root.left)        self.postOrder(root.right)        print(root.key)

 

python 實現二叉樹相關演算法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.