二叉樹應用

2021-09-25 07:51:52 字數 525 閱讀 6499

1 專案要求

建立一棵二叉樹

前序、中序、層次非遞迴遍歷該二叉樹

判斷該二叉樹是否為二叉排序樹

如果是二叉排序樹,進行結點的插入或刪除

輸出結果

2 解題思路

首先設計乙個結構體,確定需要輸入的資料型別,再設計乙個結構體,用來存放左右孩子的指標。輸入資料建立乙個二叉樹,首先輸入左子樹的資料,以『0』以表示最後的資料作為葉子結點,再輸入右子樹,並以同樣的方式結尾,構成二叉樹。接下來進行二叉樹的非遞迴的先序、中序、層次遍歷。然後判斷該樹是否為二叉排序樹,則先判斷是否是空樹,是則不是二叉排序樹,不是則遞迴呼叫並且遍歷左子樹,檢查左子樹是否符合二叉排序樹,一旦發現有資料大於根節點,則不是二叉排序樹;若沒有,則遍歷右子樹,檢查右子樹是否符合二叉排序樹特徵,有發現資料小於根節點,則不是二叉排序樹,如果兩者都不是,此二叉樹就是二叉排序樹。在判斷為二叉排序樹後,呼叫查詢函式,插入資料,以及刪除資料。

二叉樹及其應用 二叉樹遍歷

給定二叉樹的廣義表表示,構造二叉樹並輸出二叉樹的四種遍歷順序。輸入說明 輸入僅一行,該行僅由 以及大小寫字元構成的二叉樹的廣義表表示,字串長度不超過100。輸出說明 在接下來的四行中依行輸出二叉樹的四種遍歷 輸入樣列 a b d,c e,f h 輸出樣列 abdcefh dbaecfh dbehfc...

二叉樹及其應用 二叉樹建立

給定二叉樹的資料型別如下 typedef char element struct node typedef struct node btnode typedef struct node btree 二叉樹建立i 完成btree create btree char s 函式,該函式由字串s建立一顆二叉...

二叉樹應用 二叉樹映象(對稱)

題目 完成乙個函式,輸入乙個二叉樹,該函式輸出它的映象。如 分析 對於乙個二叉樹的映象過程,我們可以先前序遍歷這棵樹的每乙個節點,如果遍歷到的節點有子節點,就交換它的兩個子節點。當交換完所有的飛葉子節點之後,就得到了樹的映象。具體實現 struct treenode void mirrorrecur...