java实现的数据结构_几种常见的数据结构的JAVA实现

树是一个递归的数据结构,一棵树上的所有节点都可以被看成是一棵树,只不过除根节点外其他节点都比总树的规模小点而已。树的节点有三种:根节点(没有父亲节点),叶子节点(没有孩子节点),一般节点(既有父亲节点,也有孩子节点)。具体对结构的分析,几乎所有写数据结构的书中都有提到。

这棵树的实现花了好几天时间,碰到的最大问题是JAVA的泛型,在对泛型不是足够了解的事实下,似乎到处都碰到陷阱,幸亏在这中间得到了周树群同志的鼎力相助,所以在这里表扬他老人家一把:周树群是个好同志!

不管怎么说,一棵简单的树已经实现了,以后要用到树的地方就方便多了(目前为止我还没看到JDK里有专门的树的实现)。下面是这棵树的接口ITree,以及具体实现类OriginalTree。

ITree:

package utility.structure.def;

import java.util.Collection;

import java.util.List;

/**

*

* @author odie.tang

*

* @version 1.0 10/30/09

*/

public interface ITree{

E getData();

void set(E e);

E remove();

int getDepth();

int getLevel();

ITree getParent();

ITree getFirstChild();

ITree getLastChild();

ITree addChild(int childIndex,E e);

void addChildren(Collection extends E> children);

void addChildren(int childIndex, Collection extends E> children);

ITree addChild(E e);

ITree getChild(int childIndex);

E removeChild(int childIndex);

List> getChildren();

boolean isLeaf();

boolean isRoot();

ITree getRoot();

boolean remove(E e);

ITree getNode(E e);

}

OriginalTree:

package utility.structure;

import java.io.Serializable;

import java.util.ArrayList;

import java.util.Collection;

import java.util.ConcurrentModificationException;

import java.util.List;

import java.util.NoSuchElementException;

import utility.structure.def.ITree;

/**

* @author odie.tang

* @version 1.0 , 10/30/09

*/

public class OriginalTree implements ITree,Serializable {

private static final long serialVersionUID =

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值