- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、算法设计题 (每题 15 分,共 60 分)答题要求:
①用自然语言说明所采用算法的思想;
②给出每个算法所需的数据结构定义,并做必要说明;
③写出对应的算法程序,并做必要的注释。
1、有一个带头结点的单链表,每个结点包括两个域,一个是整型域
info ,另一个是指向下
一个结点的指针域 next 。假设单链表已建立,设计算法删除单链表中所有重复出现的结点,
使得 info 域相等的结点只保留一个。
3、约瑟夫环问题( Josephus问题)是指编号为
1、 2、? , n 的 n( n0)个人按顺时针方向
围坐成一圈,现从第 s 个人开始按顺时针方向报数,数到第 m 个人出列,然后从出列的下
一个人重新开始报数,数到第 m 的人又出列, ? ,如此重复直到所有的人全部出列为止。
现要求采用循环链表结构设计一个算法,模拟此过程。
4、编程实现单链表的就地逆置。
23.在数组 A[1..n] 中有 n 个数据,试建立一个带有头结点的循环链表,头指针为 h,要求
链中数据从小到大排列,重复的数据在链中只保存一个 .
5、设计一个尽可能的高效算法输出单链表的倒数第 K 个元素。
3、假设以 I 和 O 分别表示入栈和出栈操作。栈的初态和终态均为空,入栈和出栈的操作序
列可表示为仅由 I 和 O 组成的序列, 称可以操作的序列为合法序列, 否则称为非法序列。( 15
分)
( 1)下面所示的序列中哪些是合法的?
A. IOIIOIOO B. IOOIOIIO C. IIIOIOIO D. IIIOOIOO
( 2)通过对( 1)的分析,写出一个算法,判定所给的操作序列是否合法。若合法,返回
true,否则返回 false(假定被判定的操作序列已存入一维数组中) 。
5、设从键盘输入一整数的序列: a1, a2, a3,?, an, 试编写算法实现:用栈结构存储输入的整数,当 ai ≠ -1 时,将 ai 进栈;当 ai=-1 时,输出栈顶整数并出栈。算法应对异常情况(入栈满等)给出相应的信息。
设有一个背包可以放入的物品重量为 S,现有 n 件物品,重量分别为 W1, W2, ... ,Wn。问能
否从这 n 件物品中选择若干件放入背包, 使得放入的重量之和正好是 S。设布尔函数 Knap(S,
n) 表示背包问题的解, Wi (i=1,2,... ,n) 均为正整数,并已顺序存储 地在数组 W中。请在下
列算法的下划线处填空,使其正确求解背包问题。
Knap(S, n)若 S=0
则 Knap← true
否则若( S0)或 (S0 且 n1)则 Knap← false
否则若 Knap(1) , _=true
则 print(W[n]) ;Knap ← true
否则 Knap ← Knap(2) _ , _
设有一个顺序栈 S,元素 s1, s2, s3, s4, s5, s6依次进栈,如果 6 个元素的出栈顺序为
s2, s3, s4,
s6, s5, s1,则顺序栈的容量至少应为多少?画出具体进栈、出栈过程。
假定采用带头结点的单链表保存单词, 当两个单词有相同的后缀时, 则可共享相同的后缀存
储空间。例如:
str1 s t r
i n g
str2 b e
设 str1 和 str2 是分别指向两个单词的头结点, 请设计一个尽可能的高效算法, 找出两个单
词共同后缀的起始位置,分析算法时间复杂度。
将 n(n1) 个整数存放到一维数组 R 中。设计一个尽可能高效(时间、空间)的算
法,将 R 中保存的序列循环左移 p( 0pn )个位置,即将 R 中的数据( x0 , x 1, x2 ,? , xn-1),
变换为 (xp, xp+ 1, ? , xn-1 ,x0 , x1,? , xp-1)。
4.编写一个过程, 对一个 n× n 矩阵,通过行变换, 使其每行元素的平均值按递增顺序排列。
7.给定一个整数数组 b[0..N-1] ,b 中连续的相等元素构成的子序列称为平台。 试设计算法,
求出 b 中最长平台的长度。 【
8. 给定 nxm 矩阵 A[a..b,c..d],
并设 A[i,j]
≤A[i,j+1](a
≤ i ≤ b,c ≤ j ≤ d-1) 和 A[i,j]
≤
A[i+1,j](a ≤ i ≤ b-1,c ≤ j ≤ d). 设计一算法判定 X 的值是否在 A 中 , 要求时间复杂度为
O(m+n)。【
22. 给定有 m个整数的递增有序数组
a[1..m] 和有 n 个整数的递减有序数组
b[1..n] ,试写
出
您可能关注的文档
最近下载
- 医疗机构内麻醉、精神药品使用与管理制度.docx VIP
- 重庆市房屋建筑与装饰工程计价定额2018-建筑工程.docx VIP
- 重庆市房屋建筑与装饰工程计价定额2018建筑工程.docx VIP
- 七年级语文第一次月考卷(全解全析)(苏州专用)-A4.docx VIP
- 周杰伦所有歌词(14张专辑-包括床边的故事)呕心沥血已经整理完毕可打印.doc VIP
- 中古时期郡望郡姓地理分布考论.docx VIP
- 机械工程材料完整全套教学课件.pptx
- 城市轨道交通运营管理毕业论文-关于铁路客运服务质量的调查与探讨.docx VIP
- 2025年高压电工证题库(附答案).docx
- 智慧工地整体解决方案(投标方案).docx
文档评论(0)