python數據結構之二叉樹的實現

樹的定義  python

  樹是一種重要的非線性 數據結構,直觀地看,它是 數據元素(在樹中稱爲結點)按分支關係組織起來的結構,很象天然界中的樹那樣。 樹結構在客觀世界中普遍存在,如人類社會的族譜和各類社會組織機構均可用樹形象表示。樹在計算機領域中也獲得普遍應用,如在編譯源程序時,可用樹表示源程序的語法結構。又如在 數據庫系統中,樹型結構也是信息的重要組織形式之一。一切具備層次關係的問題均可用樹來描述。
 
       樹結構的特色是:它的每個結點均可以有不止一個直接後繼,除根結點外的全部結點都有且只有一個直接前驅。
 
   樹的 遞歸 定義以下:(1)至少有一個結點(稱爲根)(2)其它是互不相交的子樹
 
 二叉樹: 

二叉樹是由n(n≥0)個結點組成的有限集合、每一個結點最多有兩個子樹的有序樹。它或者是空集,或者是由一個根和稱爲左、右子樹的兩個不相交的二叉樹組成。數據庫

特色:數據結構

(1)二叉樹是有序樹,即便只有一個子樹,也必須區分左、右子樹;spa

(2)二叉樹的每一個結點的度不能大於2,只能取0、一、2三者之一;code

(3)二叉樹中全部結點的形態有5種:空結點、無左右子樹的結點、只有左子樹的結點、只有右子樹的結點和具備左右子樹的結點。htm

 

二叉樹基本的數據結構blog

  

#!/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
相關文章
相關標籤/搜索