當前位置:
首頁 >
[数据结构]二叉树
發布時間:2025/7/14
30
豆豆
(1)二叉樹的概念?
二叉樹(Binary Tree)是個有限元素的集合,該集合或者為空、或者由一個稱為根(root)的元素及兩個不相交的、被分別稱為左子樹和右子樹的二叉樹組成。當集合為空時,稱該二叉樹為空二叉樹。
滿二叉樹:?在一棵二叉樹中,如果所有分支結點都存在左子樹和右子樹,并且所有葉子結點都在同一層上,這樣的一棵二叉樹稱作滿二叉樹。
完全二叉樹:一棵深度為k的有n個結點的二叉樹,對樹中的結點按從上至下、從左到右的順序進行編號,如果編號為i(1≤i≤n)的結點與滿二叉樹中編號為i的結點在二叉樹中的位置相同,則這棵二叉樹稱為完全二叉樹
(2)二叉樹的基本操作與存儲
?二叉樹的二叉鏈表存儲表示可描述為
[cpp]?view plaincopy
建立一個二叉樹,使其只有頭結點
(3)二叉樹的遍歷
二叉樹的遍歷是指按照某種順序訪問二叉樹中的每個結點,使每個結點被訪問一次且僅被訪問一次。
先序遍歷:
(1)訪問根結點;
(2)先序遍歷根結點的左子樹;
(3)先序遍歷根結點的右子樹。
??? 先序遍歷二叉樹的遞歸算法如下:
?
中序遍歷:先左子樹,再根,再右子樹
后序遍歷:先遍歷樹左子樹,再右子樹,最后根
先序遍歷的非遞歸實現
可以利用棧的后進先出的特點實現:
數據結構—二叉樹
轉載于:https://www.cnblogs.com/zhiliao112/p/4232215.html
總結
- 上一篇: Deferred
- 下一篇: SAX解析xml (遍历DOM树各节点)