数据结构作业,麻烦大神帮帮忙
2.1试述头结点、首元结点、头指针这三个概念的区别。2.2线性表有两种存储结构:顺序表和链表。试问:如果线性表的元素个数基本稳定,且很少进行插入和删除,但要求以最快的速度...
2.1试述头结点、首元结点、头指针这三个概念的区别。
2.2线性表有两种存储结构:顺序表和链表。试问:如果线性表的元素个数基本稳定,且很少进行插入和删除,但要求以最快的速度存取线性表中的元素,那么应采用哪种数据结构?为什么?
2.3设单链表结点指针域为next,试写出删除链表中指针p所指结点的直接后续的C语言语句。 展开
2.2线性表有两种存储结构:顺序表和链表。试问:如果线性表的元素个数基本稳定,且很少进行插入和删除,但要求以最快的速度存取线性表中的元素,那么应采用哪种数据结构?为什么?
2.3设单链表结点指针域为next,试写出删除链表中指针p所指结点的直接后续的C语言语句。 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)+提问者悬赏20(财富值+成长值)
1个回答
展开全部
2.1 头结点:是为了方便操作链表而附设的,头结点数据域通常用来保存跟链表有关的信息,比如链表的长度;
首元结点:就是链表里“正式”的第一个结点,即链表的开始结点。形如a1,a2,a3,...an;
头指针:头指针是指向链表的基地址。
2.2 应该用顺序表(数组)。顺序表存取操作是常数时间O(1),插入和删除最坏情况需要遍历整个数组O(n),而链表存取,插入,删除在最坏情况下都需要遍历整个链表。当插入删除操作很少时,用顺序表时间效率更高。
2.3
先声明一个临时节点q
q=p->next;
p->next = p ->next->next;
free(q);
首元结点:就是链表里“正式”的第一个结点,即链表的开始结点。形如a1,a2,a3,...an;
头指针:头指针是指向链表的基地址。
2.2 应该用顺序表(数组)。顺序表存取操作是常数时间O(1),插入和删除最坏情况需要遍历整个数组O(n),而链表存取,插入,删除在最坏情况下都需要遍历整个链表。当插入删除操作很少时,用顺序表时间效率更高。
2.3
先声明一个临时节点q
q=p->next;
p->next = p ->next->next;
free(q);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询