種一棵順序儲存的二叉樹

2021-08-10 05:11:21 字數 1283 閱讀 1169

簡介:「種」了一棵順序存結構儲存string

型別結點的二叉樹,並層序輸出結點的資料,並實現各個結點的「自我介紹」,內容包括自己、雙親、孩子、兄弟。

直接上「碼」

類的定義:

在執行截圖中是這樣的

1. 在順序儲存結構中,使用了一組連續的儲存單元存放結點。序號為i的結點(根結點除外),其雙親序號為(

i+1)

/2-1,

其左右孩子的序號分別為

2i+1

和2i+2

2.二叉樹的順序儲存結構比較適合存完全二叉樹或近完全二叉樹,樹中結點的序號可以唯一反映出結點之間的邏輯關係同時節省空間,否則會浪費大量的儲存空間去存放空結點。

3.我「種」的是一顆普通的二叉樹,但只需要增加乙個空的結點,就可以補全為完全二叉樹,所以這棵樹適合用順序儲存的方法來「種」;另一方面在寫程式時沒有想到使用遞迴函式,而是採用了

for迴圈,導致程式**比較繁雜;但是清晰易懂。

「種」樹的過程還是很好玩的,有事沒事就多「種」樹,種多了就知道種的方法了!

翻轉一棵二叉樹

問題描述 翻轉一棵二叉樹 示例 輸入 4 2 7 1 3 6 9輸出 4 7 2 9 6 3 1 解法 1.用遞迴來解決 2.首先判斷根是不是空 遞迴出口 3.如果不是空則交換左右子數 4.對左子樹進行遞迴 5.對右子樹進行遞迴 definition for a binary tree node.c...

判斷一棵二叉樹是不是另一棵二叉樹的子樹

定義 父樹包含子樹的所有節點,注意,空樹不是任何數的子樹。父樹 a 子樹 b 解法 用遞迴來實現,從a樹的根節點開始,判斷其所有的節點是不是依次和樹b相同,如不同,遞迴呼叫函式,繼續判斷樹a當前節點的左子樹的所有節點或右子樹的所有節點是否和樹b所有節點相同,直到遍歷到父樹a的葉子節點,如果不是完全相...

求一棵二叉樹的映象

求一棵二叉樹的映象 二叉樹的映象就是將二叉樹的左右子樹都交換位置得到的一棵二叉樹。所以我們可以通過遞迴來解決。下邊給出 實現 void mirror node root 下邊給出完整的測試 pragma once includeusing namespace std include includet...