当前位置:编程学习 > C#/ASP.NET >>

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

数据结构与算法(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
{
     /// <summary>
     /// Tree 的摘要说明。
     /// when traverse, traversaltype can't be changed,or throw a  exception
     /// 支持枚举、比较、深度复制
     /// </summary>
     public abstract class Tree:IEnumerable,IComparable
     {
         public Tree()
         {
         //
         // TODO: 在此处添加构造函数逻辑
         //
补充:asp.net教程,C语言
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,