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

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

Heavenkiller(原创)

n叉树的每个节点具有相同的度,n
使用系统;
使用系统集合;
空间数据结构

{

X

的narytree / / /注----- N叉树。

X

公共课narytree:树

{

成员变量

受保护对象密钥;

保护的程度;

保护树形=新的数组列表(ArrayList);

/ /保护单元高度= 0; / /临时的默认值是0
/ /创建一个空的树的属性的程度_degree

公共narytree(个_degree)

{
在这里添加构造函数逻辑
这个键= null;

这_degree度=;

这种树形= null;

}

构建n棵树的叶节点

公共narytree(个_degree,对象_key)

{

这_key关键=;

这_degree度=;

这种树形=新的ArrayList();

这个树形。能力=(int)_degree;
为(int = i 0;i)

{
This.treeList.Add(this.getemptyinstance(_degree));

}

}

/ / -----------------------------------------------------------------

受保护的虚拟对象getemptyinstance(个_degree)

{返回新narytree(_degree);}

/ / -------------------------------------------------------------------

判断树是否为空树

bool IsEmpty()公共覆盖

{返回这个键= NULL;}

以确定是否是叶节点。如果不是空树,每个子树都是叶子节点的空树。

bool IsLeaf()公共覆盖

{

如果(IsEmpty())

返回false;

(单位为I = 0;我)

{

如果(!(这{我}。IsEmpty()))

返回false;

}

返回true;

}

/ / -----------------------------------继承属性---------------------------------

公共覆盖对象键

{

得到

{

返回this.key;

}

}

/ /索引

公共覆盖树这_index } {单元

{

得到

{
如果(_index > =这个程度)

抛出新异常()!);如果它被抛出

如果(this.isempty())

返回空值;如果空树是索引返回null。

返回(树),树形{(int)_index };

}



{

这个树形{(int)_index } =价值;

}

}

tag:算法叉树数据结构系列电脑软件

相关内容