python先序遍歷二叉樹問題
問題
如何遍歷一個(gè)二叉樹
遍歷二叉樹就是訪問二叉樹的每一個(gè)節(jié)點(diǎn)
二叉樹父結(jié)點(diǎn)下先左訪問,先序遍歷(根左右)
例如:遍歷以下的二叉樹

遍歷結(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é)點(diǎn)
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é)點(diǎn)之間的關(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)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Python3調(diào)用微信企業(yè)號(hào)API發(fā)送文本消息代碼示例、淺談python中的占位符、python實(shí)現(xiàn)人臉識(shí)別代碼等,有什么問題可以隨時(shí)留言,小編會(huì)及時(shí)回復(fù)大家的。感謝朋友們對(duì)本站的支持!
- python數(shù)據(jù)結(jié)構(gòu)之二叉樹的遍歷實(shí)例
- Python利用前序和中序遍歷結(jié)果重建二叉樹的方法
- python二叉樹遍歷的實(shí)現(xiàn)方法
- Python實(shí)現(xiàn)二叉樹結(jié)構(gòu)與進(jìn)行二叉樹遍歷的方法詳解
- python實(shí)現(xiàn)的二叉樹定義與遍歷算法實(shí)例
- Python編程實(shí)現(xiàn)二叉樹及七種遍歷方法詳解
- Python實(shí)現(xiàn)輸入二叉樹的先序和中序遍歷,再輸出后序遍歷操作示例
- Python實(shí)現(xiàn)二叉樹的常見遍歷操作總結(jié)【7種方法】
- Python實(shí)現(xiàn)二叉樹前序、中序、后序及層次遍歷示例代碼
- python創(chuàng)建與遍歷二叉樹的方法實(shí)例
相關(guān)文章
python3基于TCP實(shí)現(xiàn)CS架構(gòu)文件傳輸
這篇文章主要為大家詳細(xì)介紹了python3基于TCP實(shí)現(xiàn)CS架構(gòu)文件傳輸,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
python中學(xué)習(xí)K-Means和圖片壓縮
大家在python中會(huì)遇到關(guān)于K-Means和圖片壓縮的問題,我先通過本次文章學(xué)習(xí)一下基本原理吧。2017-11-11
python實(shí)現(xiàn)sqlalchemy的使用概述
SQLAlchemy是Python中最有名的ORM工具,特點(diǎn)是操縱Python對(duì)象而不是SQL查詢,也就是在代碼層面考慮的是對(duì)象,而不是SQL,體現(xiàn)的是一種程序化思維,這樣使得Python程序更加簡潔易懂,具體內(nèi)容詳情跟隨小編一起看看吧2021-08-08
Python3讀寫Excel文件(使用xlrd,xlsxwriter,openpyxl3種方式讀寫實(shí)例與優(yōu)劣)
這篇文章主要介紹了Python3讀寫Excel文件,使用xlrd,xlsxwriter,openpyxl3種方式讀寫實(shí)例與優(yōu)劣,需要的朋友可以參考下2020-02-02
python selenium 執(zhí)行完畢關(guān)閉chromedriver進(jìn)程示例
今天小編就為大家分享一篇python selenium 執(zhí)行完畢關(guān)閉chromedriver進(jìn)程示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
OpenCV-Python使用分水嶺算法實(shí)現(xiàn)圖像的分割與提取
在圖像的處理過程中,經(jīng)常需要從圖像中將前景對(duì)象作為目標(biāo)圖像分割或者提取出來。本文就介紹了使用分水嶺算法實(shí)現(xiàn)圖像的分割與提取,感興趣的可以了解一下2021-06-06
python-序列解包(對(duì)可迭代元素的快速取值方法)
今天小編就為大家分享一篇python-序列解包(對(duì)可迭代元素的快速取值方法),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08

