1. 程式人生 > >[原始碼和文件分享]二叉樹應用

[原始碼和文件分享]二叉樹應用

1 專案要求

  • 建立一棵二叉樹
  • 前序、中序、層次非遞迴遍歷該二叉樹
  • 判斷該二叉樹是否為二叉排序樹
  • 如果是二叉排序樹,進行結點的插入或刪除
  • 輸出結果

2 解題思路

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


參考文件和完整的文件和原始碼下載地址:

https://www.write-bug.com/article/1690.html