第六章 二叉樹

2021-05-22 09:07:20 字數 904 閱讀 3617

1.基礎知識:二叉樹是一種非線性結構,而前面討論的都是線性結構,兩種是有本質區別的。它在現實社會中存在著很多的模型。例如,人類社會的族譜,社會的各種組織分層,國家,學校,單位的各種機構,這些都是用樹和二叉樹來表示的。其中二叉樹相當的實用。我為什麼這麼說呢,因為二叉樹很有規則性,它的一系列操作都是相當有規律的,操作相對來講比較簡單,而其他的樹則較二叉樹要複雜得多,並且各個分支之間都沒有固定的規律可循。

2.二叉樹的**實現:

//二叉樹類模板定義

template

class bitree

//void createbitree(bitree* bitreenode);

bitree*head=null;

//訪問結點資料函式模板

template

void visit(bitree*t)

}//先序建立一棵二叉樹

template

void createbitree(bitree* &bitreenode)

}//遞迴方式遍歷二叉樹:先序,中序,後序

//先序遍歷二叉樹

template

void preoder_recursive(bitree*t)

}//中序遍歷二叉樹

template

void inoder_recursive(bitree*t)

}//後序遍歷二叉樹

template

void postoder_recursive(bitree*t)

}int main()

3.二叉樹的應用

(*)/

/(a)    (b)

這棵樹的葉子數:2

這棵樹的深度是:1

先序遍歷:*ab

中序遍歷:a*b

後序遍歷:ab*

第六章 樹(2)二叉樹

二叉樹 是另一種樹形結構,它的特點是每個結點至多只有兩棵子樹,即二叉樹中不存在度大於2的結點 並且。二叉樹的子樹有左右之分,其次序不能任意顛倒。1 各種型別的二叉樹 2 二叉樹的各種性質 性質一 在二叉樹的第 i 層上至多有2 i 1 個結點 i 1 性質二 深度為 k 的二叉樹至多有 2 k 1個...

第六章 樹和二叉樹

一 基本術語 1 節點 乙個資料元素機器若干指向其子樹的分支。2 節點的度 節點所擁有的子樹的顆樹。3 樹的度 樹中節點度的最大值。二 二叉樹 性質 對任意一棵二叉樹,若其葉子節點數為n0,度為二的節點數為n2,則n0 n2 1 1 滿二叉樹 一顆深度為k且有2的k次方 1個節點的二叉樹為滿二叉樹。...

第六章 數和二叉樹

樹形結構是一種重要的非線性資料結構 6.1樹的定義和基本術語 1.樹是n個節點的有限集 1 有且只有乙個特定的被稱為根的節點 2 n 1時其餘節點可分為m個互不相交的有限集,其中每乙個集合本身又是一棵樹,稱為根的子樹 6.2二叉樹 1.二叉樹是每個節點至多有兩顆子樹 即二叉樹中不存在度大於二的節點 ...