用C#实现数据结构--树(一)

作者:袖梨 2022-07-02
数据结构与算法(C#实现)系列---树(一)
                      Heavenkiller(原创)
首先我们给树下一个定义:
树是一个有限的、非空的结点集,
T={r} or T1 or T2 or…or Tn
它具有下列性质:
1.集合指定的结点r叫做树的根结点
2.其余的结点可以划分成n个子集,T1,T2,…Tn(n>=0),其中每一个子集都是一棵树。
 
树的其它定义如度,叶子,高等就请大家查阅别的资料吧,到处都有的。
 
树的主要性质一个就是遍历,分为深度遍历和广度遍历
在这里分别实现为DepthFirstTravesal()和WidthFirstTravesal()
其中深度遍历又分为前序遍历、中序遍历、和后序遍历
这是是采用适配器技术实现的。
 
using System;
using System.Collections;
 
namespace DataStructure
{
     ///
     /// Tree 的摘要说明。
     /// when traverse, traversaltype can't be changed,or throw a  exception
     /// 支持枚举、比较、深度复制
     ///

     public abstract class Tree:IEnumerable,IComparable
     {
         public Tree()
         {
         //
         // TODO: 在此处添加构造函数逻辑
         //

相关文章

精彩推荐