0

我即将参加考试,其中一个主题是:
抽象数据类型:队列、双端队列、堆栈、树

我的问题是:什么是树?既然它不是一个接口,就像其他三个一样,你认为“树”是什么意思?是关于“treeset”和“treemap”的共同点还是?

如果有人可以在这里帮助我,我将非常感激..

4

1 回答 1

1

您可能会参考 ADT 树组,它可能会出现在非常不同的实现中,因此会出现运行时行为。ADT 通常意味着一个更抽象的(不是 Java 意义上的)概念。最好的方法是查看队列、双端队列、堆栈和(二叉树)树的概念。一个好的起点可能是Wikipedia,尤其是文章末尾的数据结构表,其中解释了数据结构的细节。如您所见,有很多树 ADT,而这只是冰山一角。

一旦您了解了它们的工作方式,请阅读 Java API。您可能想阅读 LinkedList、ArrayList、HashMap 和 HashSet、TreeMap 和 TreeSet 的文档,它们是 Java 中最常用的 ADT 实现。

顺便说一句,最好省略不再使用的 Java 实现 Hashtable 和 Vector,因为它们synchronized在每个操作中都存在,这很可能不是您想要的(它是批量同步)。

于 2013-06-19T11:43:41.937 回答