下面簡單介紹一下幾種算法和思路
先序遍歷
中序遍歷
後序遍歷
層次遍歷
下面只是做了一個中序遍歷
using System;
using System
using System
using System
namespace TreeNode_
{
// Binary Tree的結點類
class Node
{
public int Data { get; set; }
public Node LeftSubNode { get; set; }
public Node RightSubNode { get; set; }
// 結點為自己追加子結點(與向左/向右追加結合
public void Append(Node subNode)
{
if (subNode
{
this
}
else
{
this
}
}
// 向左追加
public void AppendLeft(Node subNode)
{
if (this
{
this
}
else
{
this
}
}
// 向右追加
public void AppendRight(Node subNode)
{
if (this
{
this
}
else
{
this
}
}
// 結點顯示自己的數據
public void ShowData()
{
Console
}
}
// Binary Tree類
class Tree
{
// 根結點
public Node Root { get; set; }
// 以某結點為起點
public void Insert(Node newNode)
{
if (this
{
this
}
else
{
this
}
}
// 重載
public void MidTravel()
{
this
}
// 中序遍歷(遞歸)
public void MidTravel(Node node)
{
if (node
{
this
}
node
if (node
{
this
}
}
}
class Program
{
static void Main(string[] args)
{
Tree tree = new Tree();
tree
tree
tree
tree
tree
tree
Console
}
}
}
From:http://tw.wingwit.com/Article/program/net/201311/11814.html