python二叉樹的實(shí)現(xiàn)實(shí)例
樹的定義
樹是一種重要的非線性數(shù)據(jù)結(jié)構(gòu),直觀地看,它是數(shù)據(jù)元素(在樹中稱為結(jié)點(diǎn))按分支關(guān)系組織起來的結(jié)構(gòu),很象自然界中的樹那樣。樹結(jié)構(gòu)在客觀世界中廣泛存在,如人類社會的族譜和各種社會組織機(jī)構(gòu)都可用樹形象表示。樹在計算機(jī)領(lǐng)域中也得到廣泛應(yīng)用,如在編譯源程序時,可用樹表示源程序的語法結(jié)構(gòu)。又如在數(shù)據(jù)庫系統(tǒng)中,樹型結(jié)構(gòu)也是信息的重要組織形式之一。一切具有層次關(guān)系的問題都可用樹來描述。
樹結(jié)構(gòu)的特點(diǎn)是:它的每一個結(jié)點(diǎn)都可以有不止一個直接后繼,除根結(jié)點(diǎn)外的所有結(jié)點(diǎn)都有且只有一個直接前驅(qū)。
樹的遞歸定義如下:(1)至少有一個結(jié)點(diǎn)(稱為根)(2)其它是互不相交的子樹
二叉樹:
二叉樹是由n(n≥0)個結(jié)點(diǎn)組成的有限集合、每個結(jié)點(diǎn)最多有兩個子樹的有序樹。它或者是空集,或者是由一個根和稱為左、右子樹的兩個不相交的二叉樹組成。
二叉樹特點(diǎn):
(1)二叉樹是有序樹,即使只有一個子樹,也必須區(qū)分左、右子樹;
(2)二叉樹的每個結(jié)點(diǎn)的度不能大于2,只能取0、1、2三者之一;
(3)二叉樹中所有結(jié)點(diǎn)的形態(tài)有5種:空結(jié)點(diǎn)、無左右子樹的結(jié)點(diǎn)、只有左子樹的結(jié)點(diǎn)、只有右子樹的結(jié)點(diǎn)和具有左右子樹的結(jié)點(diǎn)。
二叉樹基本的數(shù)據(jù)結(jié)構(gòu)
#!/usr/bin/python
# -*- coding: utf-8 -*-
class TreeNode(object):
def __init__(self,data,left,right):
self.data = data
self.left = left
self.right = right
class BTree(object):
def __init__(self,root=0):
self.root = root
- python數(shù)據(jù)結(jié)構(gòu)之二叉樹的建立實(shí)例
- python數(shù)據(jù)結(jié)構(gòu)之二叉樹的遍歷實(shí)例
- Python中的二叉樹查找算法模塊使用指南
- Python利用前序和中序遍歷結(jié)果重建二叉樹的方法
- python數(shù)據(jù)結(jié)構(gòu)樹和二叉樹簡介
- python二叉樹遍歷的實(shí)現(xiàn)方法
- python數(shù)據(jù)結(jié)構(gòu)之二叉樹的統(tǒng)計與轉(zhuǎn)換實(shí)例
- Python實(shí)現(xiàn)重建二叉樹的三種方法詳解
- Python簡單定義與使用二叉樹示例
- Python二叉樹初識(新手也秒懂!)
相關(guān)文章
pycharm from lxml import etree標(biāo)紅問題及解決
這篇文章主要介紹了pycharm from lxml import etree標(biāo)紅問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
Django添加bootstrap框架時無法加載靜態(tài)文件的解決方式
這篇文章主要介紹了Django添加bootstrap框架時無法加載靜態(tài)文件的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
python進(jìn)程池實(shí)現(xiàn)的多進(jìn)程文件夾copy器完整示例
這篇文章主要介紹了python進(jìn)程池實(shí)現(xiàn)的多進(jìn)程文件夾copy器,結(jié)合完整實(shí)例形式分析了Python基于多進(jìn)程與進(jìn)程池的文件操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-11-11
使用Python實(shí)現(xiàn)MP4轉(zhuǎn)GIF
在日常生活中,我們經(jīng)常會遇到需要將 MP4 文件轉(zhuǎn)換為 GIF 文件的需求,本文將介紹一種使用 Python 實(shí)現(xiàn) MP4 轉(zhuǎn) GIF 程序的方法,這種方法簡單易學(xué),而且完全免費(fèi),需要的可以參考下2023-12-12
Python中數(shù)字以及算數(shù)運(yùn)算符的相關(guān)使用
這篇文章主要介紹了Python中數(shù)字以及算數(shù)運(yùn)算符的相關(guān)使用,是Python入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-10-10

