首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

C 語言數據結構:二叉樹 11 種核心操作完整實現

     編輯:C 語言基礎

存儲結構

typedef char ElemType;
struct BTreeNode { ElemType data; struct BTreeNode *left, *right; };

11 操作清單

  1. 初始化:根指針置 NULL。
  2. 建樹:按廣義表字符串(如 `A(B(D,E),C)`)用棧模擬遞歸構建,處理 `(`, `)`, `,` 區分左右子樹。
  3. 判空:根是否 NULL。
  4. 求深度:遞歸 `max(depth(left), depth(right)) + 1`。
  5. 查找值:先序遞歸查找,返回節點數據地址。
  6. 廣義表輸出:先序遍歷,遇左右子樹加括號、逗號。
  7. 銷毀:後序遞歸 `free` 所有節點。
  8. 前序遍歷:根-左-右。
  9. 中序遍歷:左-根-右。
  10. 後序遍歷:左-右-根。
  11. 層序遍歷:循環隊列 BFS。

代碼亮點

  • 廣義表解析器健壯處理空格、巢狀括號。
  • 遍歷函數統一遞歸風格,簡潔易讀。
  • 主函數提供完整測試用例,覆蓋所有操作。

總結

二叉樹是數據結構核心,掌握 11 種基本操作(構建、遍歷、查找、度量、銷毀)即掌握樹形結構 80% 考點。代碼模組化、註釋詳盡,可直接作為教學模板或面試參考。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved