【发布时间】:2011-03-12 17:09:08
【问题描述】:
与循环链表相比,线性链表是一个有效/常用的术语吗?对于我发布给我的学生的一些示例,我需要区分两者并且不想使用实际上不存在的术语!
【问题讨论】:
标签: algorithm data-structures terminology
与循环链表相比,线性链表是一个有效/常用的术语吗?对于我发布给我的学生的一些示例,我需要区分两者并且不想使用实际上不存在的术语!
【问题讨论】:
标签: algorithm data-structures terminology
我会说 linear 或 open 链表是有效的术语,但是,我只听说过在上下文中提到它们,它们必须与循环链表明确区分开来,否则假定没有其他限定符的“链表”是线性的。
【讨论】:
我会简单地称它们为“非圆形”。
仅供参考,Lisp 将"proper lists" 定义为由空列表终止的列表。 “不正确”列表可以是“循环列表”或“点列表”(不是由空列表而是由其他原子终止的列表)。
【讨论】:
我称这些为“单链表”,尽管这通常只是将它们与“双链表”区分开来。循环链表可以是单链表也可以是双链表,因此从技术上讲,它无法区分它们。但是,我认为我从未听说过有人用任何其他名称来引用循环链表(除了可能带有额外的量词,即 - 循环双向链表)。
【讨论】:
我叫他们
1) 单链表[1]->[2]->NULL
2) 双向链表NULL<-[1]<=>[2]<=>[3]->NULL
3) 循环链表[1]->[2]->[1]
然后您可以使用该组合来制定您自己的条款。但是,问题的描述或问题的解释将阐明术语的实际含义,以防有任何疑问。
【讨论】:
您要查找的术语是“循环”和“非循环”,适用于所有图形数据结构。正如@Svante 提到的,有时您会看到“适当”、“不适当”和“圆形”。
不合格,对 List 的引用意味着“非循环”,因此“非循环”不常见且相当粗略。
最终,如果您的学生足够成熟,则首选“循环”和“非循环”,因为您的学生在从列表到树再到有向无环图再到图时会再次遇到这些术语。
【讨论】: