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

原创 2004年02月03日 13:38:00

                 数据结构与算法(C#实现)系列---广义树()<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

                                     Heavenkiller(原创)

广义树和基本树的主要区别就是有任意的度

 

 

using System;

using System.Collections;

 

namespace DataStructure

{

     /// <summary>

     /// GeneralTree 的摘要说明。

     /// general tree is a tree which has a arbitrary degree and no empty tree

     /// use ArrayList to replace ListAsLinkedList

     /// </summary>

     public class GeneralTree:Tree

     {

         protected object key=null;

         protected uint degree=0;

         //protected uint height=0;

 

         protected ArrayList treeList=new ArrayList();

 

         public GeneralTree(object _objKey)

         {

              //

              // TODO: 在此处添加构造函数逻辑

              //

 

              key=_objKey;

              degree=0;

         //   height=0;

              ArrayList treeList=new ArrayList();

         }

 

         public virtual void AttackSubtree(GeneralTree _gTree)

         {

              this.treeList.Add(_gTree);

              ++degree;

         }

         public virtual GeneralTree DetachSubtree(GeneralTree _gTree)

         {

             

              this.treeList.Remove(_gTree);

              degree--;

             

              return _gTree;//?????  how to remove ,reference or object????

         }

 

         public override Tree this[uint _index]

         {

              get

              {

                   if(_index>=this.degree)

                       throw new Exception("my:out of index");

                   return (Tree)treeList[(int)_index];

              }

              set

              {

                   treeList[(int)_index]=value;

              }

         }

 

 

 

数据结构与算法(C#)--树和二叉树

3.1、树的表示方法 3.2、树的基本术语 1、结点、结点的度和树的度 结点:包含一个元素及若干指向子树的分支 结点的度:结点所拥有的子树数 树的度:树内各结点度的最大值 叶子结点:度为零的结点,...
  • sgzy001
  • sgzy001
  • 2013年12月09日 23:46
  • 1256

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

数据结构与算法(C#实现)系列---广义树(二)                            Heavenkiller(原创)          public  override objec...
  • heavenkiller
  • heavenkiller
  • 2004年02月03日 13:38
  • 1065

数据结构之赫夫曼树的算法介绍和实现

一、基础知识: (1)最优二叉树(赫夫曼树)的介绍: a、路径长度:从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径,路径上分支数目称做路径长度。 b、树的路径长度:从树根到每一个结...
  • lfeng_coding
  • lfeng_coding
  • 2015年08月19日 16:05
  • 3479

数据结构与算法系列----Sunday算法详解

Sunday算法是Daniel M.Sunday于1990年提出的字符串模式匹配。Sunday算法的思想和BM算法中的坏字符思想非常类似。差别只是在于Sunday算法在失配之后,是取目标串中当前和模式...
  • LaoJiu_
  • LaoJiu_
  • 2016年02月29日 19:38
  • 5295

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

  数据结构与算法(C#实现)系列---树(一)                                          Heavenkiller(原创)首先我们给树下一个定义:树是一个有限...
  • iltaek
  • iltaek
  • 2009年07月28日 19:52
  • 341

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

       数据结构与算法(C#实现)系列---树(一)                                          Heavenkiller(原创)首先我们给树下一个定义:树...
  • qw19840702
  • qw19840702
  • 2008年03月03日 02:42
  • 200

我的软考之路(四)——数据结构与算法(2)之树与二叉树

上篇博文主要介绍的是数据结构的线性结构,我们这篇博文介绍非线性结构—树与二叉树,我先介绍树的一些基本概念,树的遍历,再介绍二叉树相关概念和特性,以及二叉树的遍历,最后再树与二叉树的对比,总结。    ...
  • jiuqiyuliang
  • jiuqiyuliang
  • 2014年04月25日 08:16
  • 9686

关于树形数据结构 如组织机构树

关于树形数据结构,最好的实现方式是前序遍历,前序遍历既能实现查找整个节点,也能实现查找某一层,或查找父节点,速度快。 组织机构树采用该遍历比较好。 关于这方面的文章参考http://ftp.ntu.e...
  • Truong
  • Truong
  • 2013年05月15日 10:56
  • 2496

python数据结构与算法 37 树的实现

树的实现 记住上一节树的定义,在定义的基础上,我们用以下的函数创建并操作二叉树: BinaryTree() 创建一个二叉树实例 getLeftChild() 返回节点的左孩子 getRig...
  • ppabcde
  • ppabcde
  • 2014年05月07日 13:13
  • 1926

《数据结构与算法C#语言描述》笔记目录

前言 书中,正则表达式、和散列表部分撰写内容不够丰富。通书更适合作为引入性的介绍、了解。 本书原版书名为:Data Structures and Algorithms Using C#。出版时间是...
  • Maths_bai
  • Maths_bai
  • 2012年10月07日 23:44
  • 2407
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据结构与算法(C#实现)系列---广义树(一)
举报原因:
原因补充:

(最多只允许输入30个字)