首页 > 试题广场 >

单循环链表的主要优点是()。

[单选题]
单循环链表的主要优点是()。
  • 从表中任一结点出发都能扫描到整个链表
  • 不再需要头指针了
  • 在进行插入、删除操作时,能更好地保证链表不断开
  • 已知某个结点的位置后,能够容易找到它的直接前趋
我来说说我的见解~
A.该链表是单循环链表,我们知道(非循环的)单链表只能找到它之后的结点,而循环链表因为是循环的,即使不是双向的,也能通过绕一圈的方式找到它前面的结点。所以A对。
B.对于(非循环的)链表而言,头结点可以不存在,但是存在头结点作用会更好~而对于循环链表,必须需要头结点,不然的话,循环链表最大的作用——循环 就不好使了~所以B错。
C.不断开原本的连接,那怎么进行插入、删除呢?所以C错。
D.错在“容易”两字,对于双向链表来说比较容易,单向循环链表需要(绕一圈)才行~。所以D错
发表于 2018-05-06 16:31:58 回复(4)
A,因为双循环链表有前驱和后继,所以可以从任一节点遍历整个链表
B,头指针是链表的必要元素,不管链表是否为空,头指针都不为空,B错误
C,链表在内存中都是独立的存储单元,通过地址进行指向链接,不论是否是单循环还是双循环链表,在进行插入操作时都会断开,C错
D,已知某个节点的位置后,对于线性表而言更容易找到直接前驱和直接后继

发表于 2015-09-07 23:15:32 回复(3)
对于D,单链表怎么会可以容易找到直接前驱呢,如果直接能找到要双向链表干嘛。对于A,”循环“链表当然能从任意一个节点遍历咯
发表于 2016-08-28 22:25:31 回复(0)
A : 单循环链表 从任意一节点出发可以遍历环中的任意点,但是环外点不能遍历啊。  
e->next = a;
a->next = b ;
b->next = c;
c->next = d;
d->next = a;
a,b,c,d 出发就不能遍历 e
发表于 2016-07-02 20:51:17 回复(1)
单链表不是双向循环链表,所以不具有直接找到前驱指针能力。
发表于 2016-08-28 20:49:08 回复(0)
我想知道D怎么错了
发表于 2015-11-11 21:08:10 回复(4)
单向循环列表
发表于 2021-10-13 17:19:16 回复(0)
循环!!!
发表于 2020-11-20 16:10:30 回复(0)
d当然不对 循环单链表只能直接找到后继结点 找前驱结点需要O(n)时间
发表于 2017-09-06 10:23:21 回复(0)
A:针对选项A,因为是循环链表,理论上,从其中任何一个节点都可以遍历整个链表
B:针对B选项,没有头指针的循环链表是最不合理的设计,也无法完成从空链表到有的状态变化,因此头指针还是需要的
C:单循环链表由于不知道前趋,所以在删除的时候必须从需要删除的节点的前趋下手,因此,并非单循环链表的有点
D:首先题目中提到是单循环链表,也就是单向的,因此,查找前趋是一个非常久的过程,为O(n),可以找到前趋,但是并非容易
发表于 2016-08-28 17:40:29 回复(0)
单循环链表就是使线性链表的表中最后一个结点不再指向空,而是指向头结点,使整个链表形成环。
A:因此,从任何一个结点出发均可找到表中的其他结点。
B:因为查找的时候需要的循环条件是P—>next是否为head,所以还是需要头结点的;
C:链表的插入、删除操作都需要原先的断开,形成新的链;
D:单循环链表想要找到直接前驱,需要循环一周,而不是像双向链表那样,直接可找到直接前驱;

发表于 2016-08-28 16:27:27 回复(0)
我也想知道为什么D错了……
发表于 2016-07-20 23:53:09 回复(0)