我即将进行考试,其中一个主题是:
抽象数据类型:队列、双端队列、堆栈、树
我的问题是:什么是树?由于它不是一个接口(interface),就像其他 3 个接口(interface)一样,您认为“树”是什么意思? “treeset”和“treemap”有什么共同点吗?
如果有人能在这里帮助我,我将非常感激..
最佳答案
您可能会引用 ADT 树组,它们可能会出现在非常不同的实现中,从而导致运行时行为。 ADT通常意味着一个更抽象的(不是Java意义上的)概念。最好的方法是查看队列、双端队列、堆栈和(二叉)树的概念。一个好的起点可能是 Wikipedia ,尤其是文章最后的数据结构表,里面对数据结构的细节进行了解释。正如您所看到的,树 ADT 有很多,而这只是冰山一角。
一旦您了解了它们的工作方式,请阅读 Java API。您可能想阅读 LinkedList、ArrayList、HashMap 和 HashSet、TreeMap 和 TreeSet 的文档,它们是 Java 中最常用的 ADT 实现。
顺便说一句,最好省略不再使用的 Java 实现 Hashtable 和 Vector,因为它们在每个操作上都同步
,这很可能不是您想要的(它是批量同步)。
关于java - 关于java中ADT树的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17189542/