数据结构课后作业习题2.docx
《数据结构课后作业习题2.docx》由会员分享,可在线阅读,更多相关《数据结构课后作业习题2.docx(1页珍藏版)》请在三一文库上搜索。
1、习题21比较线性表的顺序存储结构与链式存储结构的特点,并举例说明两种存储结构适用的情况。2若某线性表最常用的操作是存取任一指定序号的元素和在表尾进行插入和删除操作,则采用何种存储结构最节省时间?3已知非递减有序数列a1,a2,an,在顺序表和单链表的定义文件中添加函数、修改主函数,用这两种数据结构分别实现下述功能:(1)生成存储“非递减有序”的线性表,输出表中的所有数据。(2)再就地逆置为“非递增有序”的线性表,并输出表中的所有数据。4给定一个链表,如何快速判断其中是否存在环路?5给出两个“非递减有序”的线性表数组,将它们合并成一个“非递减有序的“的线性表数组,例如,输入: arr1 = 1,
2、 3, 4, 5, arr2 = 2, 4, 6, 8,合并为arr3 = 1, 2, 3, 4, 4, 5, 6, 8。6仿照单链表的合并功能,在双向链表类中定义双向链表合并函数并实现此功能。7Josephu问题为:设编号为1,2,n的n个人围坐一圈,约定编号为k(1kn)的人从1开始报数,数到m 的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,以此类推,直到所有人出列为止,由此产生一个出队编号的序列。Josephu问题可以用一个不带头结点的循环链表解决。请编写算法,先构成一个有n个结点的不带头结点的循环链表,然后由k结点起从1开始计数,计到m时,对应结点从链表中删除,然后被删除结点的下一个结点又从1开始计数,直到最后一个结点从链表中删除时算法结束。8在Vector类的实现中,为解决顺序表存储空间有限的问题,在每次存储空间不足时,通过expand()函数将Vector的存储容量扩大两倍。请思考:为什么在扩容时不选择固定增长容量,而是每次扩大2倍?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课后 作业 习题
链接地址:https://www.31doc.com/p-21712670.html