- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
百川东到海,何时复西归?少壮不努力,老大徒伤悲。——汉乐府
习题一
1.简述下列术语:数据、结点、逻辑结构、存储结构、数据处理、数据结构和数据类型。
2.试根据以下信息:校友姓名、性别、出生年月、毕业时间、所学专业、现在工作单位、
职称、职务、电话等,为校友录构造一种适当的数据结构(作图示意),并定义必要的运算和
用文字叙述相应的算法思想。
3.什么是算法?算法的主要特点是什么?
4.如何评价一个算法?
习题二
1.什么是顺序存储结构?什么是链式存储结构?
2.线性表的顺序存储结构和链式存储结构各有什么特点?
3.设线性表中数据元素的总数基本不变,并很少进行插入或删除工作,若要以最快的速
度存取线性表中的数据元素,应选择线性表的何种存储结构?为什么?
4.线性表的主要操作有哪些?
5.简述数组与顺序存储结构线性表的区别和联系。
6.顺序表和链表在进行插入操作时,有什么不同?
7.画出下列数据结构的图示:①顺序表②单链表③双链表④循环链表
8.试给出求顺序表长度的算法。
9.给出删除单链表中值为k的结点的前驱结点的算法。
10.试给出依次输出单链表中所有数据元素的算法。
11.试给出求单链表长度的算法。
2n-1n2n-1n
12.若多项式A=ax+ax+…+ax+ax,B=bx+bx+…+bx+bx以单链表存储,试给
12n-1n12n-1n
出多项式相减A-B的算法。
6111518361115
13.请生成多项式A=5+9x+11x+14x-21x+18x和B=8x+12x+2x-14x+12x,并输
出A+B的结果。
习题三
1.简述栈和线性表的区别和联系。
臣心一片磁针石,不指南方不肯休。——文天祥
2
2.何为栈和队列?简述两者的区别和联系。
3.若依次读入数据元素序列{a,b,c,d}进栈,进栈过程中允许出栈,试写出各种可能的出
栈元素序列。
4.将下列各算术运算式表示成波兰式和逆波兰式:
(A*(B+C)+D)*E-F*G
A*(B-D)+H/(D+E)-S/N*T
(A-C)*(B+D)+(E-F)/(G+H)
5.写出算术运算式3+4/25*8-6的操作数栈和运算符栈的变化情况。
6.若堆栈采用链式存储结构,初始时为空,试画出a,b,c,d四个元素依次进栈后栈的状态,
然后再画出此时的栈顶元素出栈后的状态。
7.试写出函数Fibonacci数列的递归算法和非递归算法。
F=0(n=1)
1
F=1,(n=2)
2
┆
F=F+F(n2)
nn-1n-2
8.在一个类型为staticlist的一维数组A[0…m-1]存储空间建立两个链接堆栈,其中前两
个单元的next域用来存储两个栈顶指针,从第3个单元起作为空闲存储单元空间提供给两个
栈共同使用。试编写一个算法把从键盘上输入的n个整型数(n=m-2,m2)按照下列条件
进栈:
(1)若输入的数小于100,则进第一个栈。
(2)若输入的数大于等于100,则进第二个栈。
9.试证明:若借助栈由输入序列1,2,3,…,n得到输出序列
文档评论(0)