我是编程新手,不熟悉Java中的某些术语和参考。尽管我相信我已经有效利用了google,但我发现让你们为我愚弄它会更有效地帮助我。
我的问题是,节点具体是什么?它们是做什么用的?另外,小巧链接结构用于什么?
最佳答案
链接结构是一种数据结构,由一堆较小的元素(称为单元或节点)组成,这些元素链接在一起以形成较大的结构。这类似于分子的形成方式-您有一束较小的原子,然后将它们连接在一起形成一个分子。许多重要的数据结构(例如链表或二进制搜索树)都是链结构。
链接结构通常与基于数组的结构形成对比。数组具有固定的大小并且是“刚性的”-您无法有效地将它们分解成较小的碎片-因此通常基于数组的结构的增大或缩小需要时间。由较小零件组成的链接结构可以很容易地分成较小的零件,也可以由新零件组成。例如,要将元素附加到数组,可能必须分配一个巨大的新数组,复制所有旧元素,然后附加新元素。使用链接列表或链接结构,您可以仅在末尾添加另一部分,这样可以提高效率。同样,如果您有一个已排序的数组并需要插入一个元素,则可能必须改组数组中的所有其他元素,因为无法将某些东西“拼接”到数组中。如果将排序的序列存储在二叉搜索树中,则可以在适当位置添加新元素,而无需在其他位置四处移动其他元素,从而使插入更加有效。
我不相信有什么叫做“小巧的链表”。我认为您的意思是单链接列表,这是一个链接列表,其中每个单元(片段)仅存储一个链接,通常链接到序列中的下一个元素。这使得在列表中从一个元素向前滚动到下一个元素变得容易,但是在备份列表中的一个位置上却变得困难。
老实说,没有一种简单的方法可以枚举要使用链接结构的所有情况,因为如此多的结构都是链接结构。我建议读一本有关基本数据类型(列表,堆栈,队列,树等)的书,以了解更多有关此的信息。我刚刚完成了针对该主题的为期四分之一的编程课程,并且我怀疑是否可以将其浓缩为一个SO答案。 :-)
希望这可以帮助!