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

C# 資料結構 - 二元樹三種深度優先遍歷實作 (4)

     編輯:關於C語言

BinaryTree 類別採二元鏈表儲存,僅保存根節點指標 Head。建構函式接收字串 (如 "ABCDE#F") 依滿二元樹編號規則建構樹結構,# 代表空節點。

核心方法

  • Add(parent, index):遞迴計算子節點索引 (2i+1, 2i+2),從字串取字元建立節點。
  • PreOrder(node):先序 (根-左-右)
  • MidOrder(node):中序 (左-根-右)
  • AfterOrder(node):後序 (左-右-根)

三種遍歷皆採遞迴實作,符合二元樹遞迴定義。

測試結果

var bTree = new BinaryTree("ABCDE#F");
bTree.PreOrder(bTree.Head);  // ABDECF
bTree.MidOrder(bTree.Head);  // DBEACF
bTree.AfterOrder(bTree.Head); // DEBFCA
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved