数据结构与算法作业.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
习 题 1 1. 简述下列术语: 数据 数据元素 数据结构 存储结构 数据类型 抽象数据类型 2.在下面两列中,左侧是算法的执行时间,右侧是一些时间复杂度。请用连线的方式表示每个算法的时间复杂度。 100n3 (1) (a) O(1) 6n2-12n+1 (2) (b) O(2n) 1024 (3) (c) O(n) n+2log2n (4) (d) O(n2) n(n+1)(n+2)/6 (5) (e) O(log2n) 2n+1+100n (6) (f) O(n3) 3. 试编写算法,求一元多项式Pn(x)=的值Pn(x0),并确定算法中每一语句的执行次数和整个算法的时间复杂度。注意选择你认为较好的输入和输出方法,本题输入为ai(i=0,1,…,n),x0和n,输出为Pn(x0)。 习 题 2 填空题: 在顺序表中插入和删除一个元素,需要平均移动 表中一半 元素,具体移动的元素个数与 插入或删除元素的位置 有关。 顺序表中逻辑上相邻的元素的物理位置 要求 紧邻。单链表中逻辑上相邻的元素的物理位置 不要求 紧邻。 在单链表中,除了首结点外,任一结点的存储位置由 前一结点的指针 指示。 在单链表中设置头结点的作用是 储存指向第一个结点的指针 。 已知顺序线性表A和B中各存放一个英语单词,字母均为小写。试编写一个判定那个单词在字典中排在前面的算法。 试写一算法,实现顺序表的就地逆置,即利用原表的存储空间将线性表(a1,a2,…, an)逆置为(an,an-1,…,a1)。 已知指针ha和hb分别指向两个单链表的头结点,并且已知两个链表的长度分别为m和n。试写一算法将这两个链表连接在一起(即令其中一个表的首元结点连在另一个表的最后一个结点之后),假设指针hc指向连接后的链表的头结点,并要求算法以尽可能短的时间完成连接运算。请分析你的算法的时间复杂度。 设线性表A=( a1,a2,…, am),B=( b1,b2,…, bn),试写一个按下列规则合并A、B为线性表C的算法,即使得 C=( a1,b1,a2, b2,…, am,bm,bm+1,…, bn) 当 m≤n时; C=( a1,b1,a2, b2,…, an,bn,an+1,…, am) 当n≤m时. 线性表A、B和C均以单链表作存储结构,且C表利用A表和B表中的结点空间构成。注意:单链表的长度值m和n均未显式存储。 注意: 2-5题完成后在上机实习时,通过程序实现检验算法的正确性(至少上机检验算法2) 习题 3 若按教科书3.1.1节中图3.1(b)所示铁道进行车厢调度(注意:两侧铁道均为单向行驶道),则请问: 如果进站的车厢序列为123,则可能得到的出站车厢序列是什么? 如果进站的车厢序列为123456,则能否得到435612和135426的出站序列,并说明为什么(即写出以‘S’表示进栈和以‘X’表示出栈的栈操作序列)。 试写一个判别表达式中开、闭括号是否合法匹配的算法。 按照四则运算加、减、乘、除和幂运算(↑)优先关系的惯例,并仿照3.2节(p.54)例3-1的格式,画出下列算术表达式求值时操作数栈和运算符栈的变化过程: A-B×C/D+E↑F 以T=16,各件物品体积={2,5,8,3,4,6}为例,画出背包问题算法执行过程中栈的变化。 假设以带头结点的循环链表表示队列,并且只设一个指向尾结点的指针,不设头指针,写出相应的入队出队操作。 习题 4 4.1 已知下列字符串 ????a=‘THIS’ , f=‘ A SAMPLE’, c=‘GOOD’, d=‘NE’, b=‘ ’, ????s=Concat (a, Concat ( SubString(f,2,7),Concat(b,SubString(a,3,2)))), ????t=Replac (f, SubString(f,3,6),c), ????u=Concat (SubString(c,3,1),d), g=‘IS’, ????v=concat (s, Concat(b,Concat(t, Concat(b,u)))), ????试问:s, t, v, StrLength(s), index(v,g), index(u,g)各是什么? 4.2 试问执行一下函数会产生怎样的输出结果? ????void demonstrate( ){ ????????StrAssign( s, ‘THIS IS A BOOK’); ????????Replace( s, SubString(s,3,7), ‘ESE ARE’); ?

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档