python二叉樹的實現(xiàn)實例
樹的定義
樹是一種重要的非線性數(shù)據(jù)結構,直觀地看,它是數(shù)據(jù)元素(在樹中稱為結點)按分支關系組織起來的結構,很象自然界中的樹那樣。樹結構在客觀世界中廣泛存在,如人類社會的族譜和各種社會組織機構都可用樹形象表示。樹在計算機領域中也得到廣泛應用,如在編譯源程序時,可用樹表示源程序的語法結構。又如在數(shù)據(jù)庫系統(tǒng)中,樹型結構也是信息的重要組織形式之一。一切具有層次關系的問題都可用樹來描述。
樹結構的特點是:它的每一個結點都可以有不止一個直接后繼,除根結點外的所有結點都有且只有一個直接前驅。
樹的遞歸定義如下:(1)至少有一個結點(稱為根)(2)其它是互不相交的子樹
二叉樹:
二叉樹是由n(n≥0)個結點組成的有限集合、每個結點最多有兩個子樹的有序樹。它或者是空集,或者是由一個根和稱為左、右子樹的兩個不相交的二叉樹組成。
二叉樹特點:
(1)二叉樹是有序樹,即使只有一個子樹,也必須區(qū)分左、右子樹;
(2)二叉樹的每個結點的度不能大于2,只能取0、1、2三者之一;
(3)二叉樹中所有結點的形態(tài)有5種:空結點、無左右子樹的結點、只有左子樹的結點、只有右子樹的結點和具有左右子樹的結點。
二叉樹基本的數(shù)據(jù)結構
#!/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輸出PowerPoint(ppt)文件中全部文字信息的方法
這篇文章主要介紹了Python輸出PowerPoint(ppt)文件中全部文字信息的方法,涉及Python通過windows中com組件操作ppt的相關技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04python3+PyQt5實現(xiàn)自定義流體混合窗口部件
這篇文章主要為大家詳細介紹了python3+PyQt5實現(xiàn)自定義流體混合窗口部件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04python:pandas合并csv文件的方法(圖書數(shù)據(jù)集成)
下面小編就為大家分享一篇python:pandas合并csv文件的方法(圖書數(shù)據(jù)集成),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python利用Gradio與EasyOCR構建在線識別文本的Web應用
隨著人工智能的不斷發(fā)展,各種智能算法越來越普遍,本文就給大家介紹一種通過訓練好的算法進行文字識別的方法,而且是Web頁面可視化操作,方便調用,希望大家喜歡2023-04-04Python?matplotlib如何簡單繪制不同類型的表格
通過Matplotlib,開發(fā)者可以僅需要幾行代碼,便可以生成繪圖,直方圖,功率譜,條形圖,錯誤圖,散點圖等,下面這篇文章主要給大家介紹了關于Python?matplotlib如何簡單繪制不同類型表格的相關資料,需要的朋友可以參考下2022-07-07