溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

基于python二叉樹(shù)中構(gòu)造和打印的示例分析

發(fā)布時(shí)間:2021-07-26 14:01:52 來(lái)源:億速云 閱讀:156 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要為大家展示了“基于python二叉樹(shù)中構(gòu)造和打印的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“基于python二叉樹(shù)中構(gòu)造和打印的示例分析”這篇文章吧。

首先,我們構(gòu)造一個(gè)二叉樹(shù)

這是最標(biāo)準(zhǔn),也是最簡(jiǎn)單的二叉樹(shù)構(gòu)造方法

'''
樹(shù)的構(gòu)建:
   3
 9   20
   15  7
'''


class Tree():
  '樹(shù)的實(shí)現(xiàn)'
  def __init__(self,data,left = 0,right = 0):
    self.left = left
    self.right = right
    self.data = data

  def __str__(self):
    return str(self.data)
# test tree


tree1 = Tree(data=15)
tree2 = Tree(data=7)
tree3 = Tree(20,tree1,tree2)
tree4 = Tree(data=9)
base = Tree(3,tree4,tree3)

這里我們需要定義二叉樹(shù)的根,左右節(jié)點(diǎn),然后構(gòu)造節(jié)點(diǎn)之間的關(guān)系

打印二叉樹(shù)函數(shù)

def function(root):
  A = []
  result = []
  if not root:
    return result
  A.append(root)
  while A:
    current_root = A.pop(0)
    result.append(current_root.data)
    if current_root.left:
      A.append(current_root.left)
    if current_root.right:
      A.append(current_root.right)
  print(result)
  return result

調(diào)用函數(shù)以及放入構(gòu)造好的二叉樹(shù)

function(base)

輸出如下:

[3, 9, 20, 15, 7]

Process finished with exit code 0

以上是“基于python二叉樹(shù)中構(gòu)造和打印的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI