数据结构与算法(C#实现)系列---广义树(二)

数据|数据结构|算法

数据结构与算法(C#实现)系列---广义树(二)

Heavenkiller(原创)

public override object Key{get{return this.key;}}

public override uint Degree{get{return this.degree;}}

//public override uint Height{get{return this.height;}}

public override bool IsEmpty()// property takes the place of IsEmpty()

{

return false;//generaltree won't be empty for ever

}

public override bool IsLeaf()

{

return this.degree==0;//if this tree's degree is zero, it means the tree has no subtrees, so it is leaf certainly

}

//overwrite Object.Equals() --- reference type realization

public override bool Equals(object _obj)

{

if( !base.Equals(_obj) )

return false;//基类比较不相等,则不相等

//基类中的一些条目在此可免去

//在基类中已判定其为GeneralTree类型,故转型不会失败

GeneralTree tmpTree=(GeneralTree)_obj;

//比较引用成员

if( !Object.Equals(this.treeList,tmpTree.treeList) )

return false;

//比较值类型成员

return true;

}

}

}

时间: 2024-09-25 22:41:39

数据结构与算法(C#实现)系列---广义树(二)的相关文章

数据结构与算法(C#实现)系列---广义树(一)

数据|数据结构|算法 数据结构与算法(C#实现)系列---广义树(一) Heavenkiller(原创) 广义树和基本树的主要区别就是有任意的度 using System; using System.Collections; namespace DataStructure { /// <summary> /// GeneralTree 的摘要说明. /// general tree is a tree which has a arbitrary degree and no empty tree

数据结构与算法(C#实现)系列---演示篇(二)

数据|数据结构|算法 数据结构与算法(C#实现)系列---演示篇(二) Heavenkiller(原创) public static void ShowGeneralTree_travel() { IEnumerator tmpIEnum; Tree.TraversalType travelType=0; //---------------------提示---------------------------- Console.WriteLine("please choose a the No.

数据结构与算法(C#实现)系列---N叉树(二)

数据|数据结构|算法 数据结构与算法(C#实现)系列---N叉树(二) Heavenkiller(原创) public override uint Degree { get { return this.degree; } } //------------------------------------------------------------------------------------- //只用于空树结点 public virtual void AttachKey(object _o

数据结构与算法(C#实现)系列---树(三)

数据|数据结构|算法   数据结构与算法(C#实现)系列---树(三)  Heavenkiller(原创)          //overwrite Object.Equals() ---  reference  type   realization          public override bool Equals(object _obj)          {               if( _obj==null )                    return false;

数据结构与算法(C#实现)系列---演示篇(一)

数据|数据结构|算法 数据结构与算法(C#实现)系列---演示篇(一) Heavenkiller(原创) 这一篇主要是针对以后各篇的数据类型进行一个实质性的演示.因此希望大家具体看了各种数据结构的分析之后再看这篇. 主要包括如下几个方面的演示: 1. 堆栈. 演示了一个利用堆栈作的RPN计算器 2. 排序表.演示了一个利用排序表做的多项式表达式的加法运算 3. 广义树.演示了深度遍历和广度遍历 4. N叉树.演示了N叉树的生成插入删除等基本操作 5. 表达式树.演示了一个用二叉树和堆栈做的可以将

数据结构与算法(C#实现)系列---演示篇(三)

数据|数据结构|算法 数据结构与算法(C#实现)系列---树(二) Heavenkiller(原创) public class InOrder:IPrePostVisitor { private IVisitor visitor; public InOrder(IVisitor _vis){visitor=_vis;} #region IPrePostVisitor 成员 public void PreVisit(object _obj) { // TODO: 添加 InOrder.PreVis

数据结构与算法(C#实现)系列---N叉树(一)

数据|数据结构|算法 数据结构与算法(C#实现)系列---N叉树(一) Heavenkiller(原创) N叉树的每一节点度数都相同,为N using System; using System.Collections; namespace DataStructure { /// <summary> /// NaryTree 的摘要说明.-----N叉树 /// </summary> public class NaryTree:Tree { // member variables p

数据结构与算法(C#实现)系列---树

数据|数据结构|算法 首先我们给树下一个定义: 树是一个有限的.非空的结点集, T={r} or T1 or T2 or-or Tn     它具有下列性质:     1.集合指定的结点r叫做树的根结点     2.其余的结点可以划分成n个子集,T1,T2,-Tn(n>=0),其中每一个子集都是一棵树.         树的其它定义如度,叶子,高等就请大家查阅别的资料吧,到处都有的.     树的主要性质一个就是遍历,分为深度遍历和广度遍历     在这里分别实现为DepthFirstTrave

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

数据|数据结构 数据结构与算法(C#实现)系列---树(二)                     Heavenkiller(原创)          public class InOrder:IPrePostVisitor          {               private IVisitor visitor;               public InOrder(IVisitor _vis){visitor=_vis;}               #region IPre