亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python先序遍歷二叉樹問題

 更新時間:2017年11月10日 10:50:14   作者:玩蛇的  
這篇文章主要介紹了python先序遍歷二叉樹問題,簡單分析了問題,然后向大家分享了代碼示例,具有一定參考價值,需要的朋友可以了解下。

問題

如何遍歷一個二叉樹

遍歷二叉樹就是訪問二叉樹的每一個節(jié)點

二叉樹父結(jié)點下先左訪問,先序遍歷(根左右)

例如:遍歷以下的二叉樹

遍歷結(jié)果:ABDECF

Python代碼示例

# !/usr/bin/env python
# -*-encoding: utf-8-*-
# author:LiYanwei
# version:0.1


class TreeNode(object):
  '''
  二叉樹類
  '''
  def __init__ (self, data, left = None, right = None):
    self.data = data
    self.left = left
    self.right = right

  def __str__(self):
    return str(self.data)

def createTree():
  '''
  創(chuàng)建二叉樹函數(shù)
  '''
  # 創(chuàng)建如圖的二叉樹
  # 1.創(chuàng)建節(jié)點
  A = TreeNode('A')
  B = TreeNode('B')
  C = TreeNode('C')
  D = TreeNode('D')
  E = TreeNode('E')
  F = TreeNode('F')
  # 列表解析
  # A, B, C, D, E, F = [TreeNode(x) for x in 'ABCDEF']

  # 2.創(chuàng)建節(jié)點之間的關(guān)系
  A.left = B
  A.right = C
  B.left = D
  B.right = E
  C.left = F
  return A


def preOrder(node):
  '''
  先序遍歷 先左后右 使用遞歸
  :param node:
  :return:
  '''
  if node is None:
    return
  print node.data
  preOrder(node.left)
  preOrder(node.right)

if __name__ == '__main__':
  # 二叉樹的創(chuàng)建
  root = createTree()
  # 二叉樹的遍歷
  preOrder(root) 

總結(jié)

以上就是本文關(guān)于python先序遍歷二叉樹問題的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Python3調(diào)用微信企業(yè)號API發(fā)送文本消息代碼示例、淺談python中的占位符、python實現(xiàn)人臉識別代碼等,有什么問題可以隨時留言,小編會及時回復(fù)大家的。感謝朋友們對本站的支持!

相關(guān)文章

最新評論