链表中为什么要引入头结点?

题目

链表中为什么要引入头结点?

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

单链表中的头结点就是单链表的第一个结点。()

此题为判断题(对,错)。


参考答案:错误

第2题:

单向循环链表是单向链表的一种扩充,当单向链表带有头结点时,把单向链表中尾结点的指针域由空指针改为回答;当单向链表不带头结点时,则把单向链表中尾结点的指针域由空指针改为指向()。


参考答案:头结点的指针、指向第一个结点的指针

第3题:

链表中为什么要引入头结点?

A.不能延伸网络可操作的距离

B.不能过滤网络流量

C.不能在网络上发送变弱的信号

D.不能放大变弱的信号


参考答案:B

第4题:

链表中的头结点仅起到标识的作用。()


答案:错
解析:
对带头结点的链表,在表的任何结点之前插入结点或删除表中任何结点,所要做的都是修改前一结点的指针域,因为任何元素结点都有前驱结点。若链表没有头结点,则首元素结点没有前驱结点,在其前插入结点或删除该结点时操作会复杂些,其作用不仅仅是标识作用。

第5题:

在单链表中,增加头结点的目的是( )。 A.方便运算的实现B.使单链表至少有一个结点SXB

在单链表中,增加头结点的目的是( )。

A.方便运算的实现

B.使单链表至少有一个结点

C.标识表结点中首结点的位置

D.说明单链表是线性表的链式存储实现


正确答案:A
A。【解析】头结点不仅标识了表中首结点的位置,而且根据单链表(包含头结点)的结构,只要掌握了表头,就能够访问整个链表,因此增加头结点的目的是为了便于运算的实现。

第6题:

在具有头结点的单链表中,头指针不是指向链表的第一个数据结点。()

此题为判断题(对,错)。


参考答案:正确

第7题:

在单链表中,增加头结点的目的是( )。A.方便运算的实现B.使单链表至少有一个结点

在单链表中,增加头结点的目的是( )。

A.方便运算的实现

B.使单链表至少有一个结点

C.标识表结点中首结点的位置

D.说明单链表是线性的链式存储实现


正确答案:A
根据单位链表(包含头结点)的结构,只要掌握了表头,就能够访问整个链表,因此增加头结点的目的是为了便于运算的实现。

第8题:

在无头结点的双链表中,指针P所指结点是第一个结点的条件是()。


参考答案:p->prior==NULL

第9题:

若栈采用链式存储且仅设头指针,则( )时入栈和出栈操作最方便。

A.采用不含头结点的单链表且栈顶元素放在表尾结点
B.采用不含头结点的单链表且栈顶元素放在表头结点
C.采用含头结点的单循环链表且栈顶元素随机存放在链表的任意结点
D.采用含头结点的双向链表且栈顶元素放在表尾结点

答案:B
解析:
本题考查数据结构基础知识。
栈的操作要求是后进先出,而且仅在表尾一端加入和删除元素。对单链表进行操作时,必须从头指针出发。根据栈的操作要求,单循环链表和双向链表都是没有必要的,而且选项c中将栈顶元素任意存放是错误的。
可以采用单链表作为栈的存储结构,将表头作为栈顶来使用。
含头结点的单链表如下图所示,其中La为头指针,La指向的结点为头结点。

不含头结点且栈顶元素放在表尾结点的单链表如下图所示,其中La为头指针,La指向的结点存储了先进入栈且没有出栈的元素。显然,因为要从La出发遍历至表尾才能进行入栈和出栈操作,在这种情况下出栈和入栈都是最低效的,时间复杂度都是O(n)。

如果采用不含头结点且栈顶元素放在表头的单链表,如下图所示,出栈和入栈操作都在表头,时间复杂度都为O(1)。

第10题:

单向链表中往往含有一个头结点,该结点不存储数据元素,一般令链表的头指针指向该结点,而该结点指针域的值为第一个元素结点的指针。以下关于单链表头结点的叙述中,错误的是()。

A.若在头结点中存入链表长度值,则求链表长度运算的时间复杂度为O(1)
B.在链表的任何一个元素前后进行插入和删除操作可用一致的方式进行处理
C.加入头结点后,在链表中进行查找运算的时间复杂度为O(1)
D.加入头结点后,代表链表的头指针不因为链表为空而改变

答案:C
解析:
在链表中加入头结点后,查找表中某一元素仍然要从头指针出发,顺序找到目标元素或失败时找到表尾为止,时间复杂度与表长成正比。故D项错误。

更多相关问题