我的考试即将开始,其中一个主题是:
抽象数据类型:队列,Deque,堆栈,树
我的问题是:什么是树木?既然它不是一个界面,就像其他3个界面一样,你认为“树木”是什么意思?是什么“树集”和“树形图有共同之处?”
如果有人能帮助我,我真的很感激..
答案 0 :(得分:1)
您可能会引用ADT树组,这些树可能出现在非常不同的实现中,因此也就是运行时行为。 ADT通常意味着更抽象(不是Java意义上的)概念。最好的方法是查看Queue,Deque,Stack和(Binary-)Trees的概念。一个好的起点可能是Wikipedia,尤其是文章末尾的数据结构表,其中解释了数据结构的细节。正如你所看到的,有许多树ADT,这只是冰山一角。
了解了它们的工作方式后,请阅读Java API。您可能希望阅读LinkedList,ArrayList,HashMap和HashSet,TreeMap和TreeSet的文档,它们是Java中最常用的ADT实现。
顺便说一句,最好省略不再使用的Java实现Hashtable和Vector,因为它们在每个操作上都是synchronized
,这很可能不是你想要的(它是批量同步)。