我知道arraylists和doublelinked list常用于编程。我知道还有其他不同的方法来制作清单。单链表我告诉单链表在编程列表中不常用。我很想知道单链接列表可以用于什么。
答案 0 :(得分:4)
这是一种数据结构,因此通常用于保存数据。我专门为单一版本看到的主要用途是
学习编程。在学校写一个非常常见的任务。它们的工作方式基本上与双向链表相同,但编写起来更简单。当您尝试编写DLL时,了解SLL的工作原理可以转移到。它们也是最简单的递归结构(我知道),因此对它们的了解也可以转移到更复杂的结构,如递归树。
许多函数式语言广泛使用SLL,因为它们在递归函数和不变性方面运行良好。每个递归你分离头,“修改它”,然后重新附加“修改的头”到递归的结果。这是在函数式编程中完成简单迭代的方式。 DLL在这里不起作用,因为每次尝试分离/附加头时,每个节点保持的向后引用将强制您更新/制作每个节点中每个引用的副本;这将导致荒谬的时间复杂性。
答案 1 :(得分:1)