请问链表中头指针是头结点吗?

来源:百度知道 编辑:UC知道 时间:2024/05/18 08:32:24
比如这道题:

某线形表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。
A. 单链表
B. 仅有头指针的单循环链表
C. 双链表
D. 仅有尾指针的单循环链表

选项B和D,仅有头或尾指针,按这个逻辑,难道还有没有头结点的链表吗?
(头指针莫非不是头结点,那它是什么呢?麻烦高手指点,谢谢!)

选A删除第一个元素的时间复杂度为Ο(1),在尾部添加一个元素为Ο(n);
选B与A相同;
选D在尾部添加一个元素为Ο(1),删除第一个元素的时间复杂度也为Ο(1);
选C同D,但要修改两个方向的指针。因此选D为最佳答案。至于是否有头结点并不重要,有了头结点后算法规范统一了。