在今天的一次采访中,我被问到了这个问题.
除了回答清单以及向前和向后遍历之外,还有一些"基本面",面试官一直在强调.我放弃了,当然在采访后做了一些研究.似乎插入和删除在双链表中比单链表更有效.我不太确定如何对双链表更有效,因为很明显需要更多的引用才能改变.任何人都可以解释背后的秘密吗?我老老实实地进行了相当多的研究,并且无法理解我的主要麻烦是双链表仍然需要进行O(n)搜索.
试图回答复合数据类型和数据结构之间的区别是什么?我意识到虽然我清楚地知道数据类型是什么,以及它与数据结构的不同之处,但我无法将其区分为单词.如果您正在教授入门CS课程,您会如何解释其中的差异?
在我学习的Uni考试中经常出现的两个问题是:
不知何故,他们不是一回事吗?
考虑一下你是Tree<E>用Java编写的.你要声明你的类Tree<E>,为它添加方法以及你要做Tree<String> myTree = new Tree<>();的树对象.
您的数据"结构"现在是数据"类型".
假如你被问到一个问题:变量myTree是什么类型的?答案是,Tree<E>.您的数据"结构"现在是数据"类型".
现在它们是相同的,它们将按照您想要对它们进行分类的基础以相同的方式进行分类.原始或非原始.同质或异构.线性或分层.
这是我的理解.理解错了吗?