计算机软件基础习题及答案.docx
《计算机软件基础习题及答案.docx》由会员分享,可在线阅读,更多相关《计算机软件基础习题及答案.docx(35页珍藏版)》请在优知文库上搜索。
1、习题一L什么是数据结构,数据的逻辑结构,数据的存储结构?数据结构对算法有什么影响?请举例说明。2 .数据结构的存储方式主要有哪两种?它们之间的本质区别是什么?3 .设刀为正整数,分析以下各程序段中加下划线的语句的执行次数。(1) for(inti=1;i=n;i+)for(intj=1;j=n;j+)cij=0.0;for(intk=1;k=n;k+)cij=cij+aik*bkj;)(2) x=0;y=0;for(inti=1;i=n;i+)for(intj=1;j=i;j+)for(intk=1;k=j;k+)=+y;(3) inti=1,j=1;while(i=n&j=n)1 =i+1;
2、J=J+i;)(4)*inti=1;dofor(intj=1;j=n;j+)while(imaxlnt时,应按出错处理。可有如下三种不同的出错处理方式:(1)用Printf显示错误信息及exit(1)语句来终止执行并报告错误;(2)用返回整数函数值0,1来实现算法,以区别是正常返回还是错误返回;(3)在函数的参数表设置一个引用型的整型变量来区别是正常返回还是某种错误返回。试讨论这三种方法各自的优缺点,并以你认为是最好的方式实现它。5 .设有一个线性表(ao,a,an-2,an-)存放在一个一维数组AarraySize中的前n个数组元素位置。请编写一个函数将这个线性表原地逆置,即将数组的前n个原
3、址内容置换为(an-1,an-2,a1,a。)。最后分析此算法的时间复杂度及空间复杂度。6 .顺序表的插入和删除要求仍然保持各个元素原来的次序。设在等概率情形下,对有127个元素的顺序表进行插入,平均需要移动多少个元素?删除一个元素,又平均需要移动多少个元素?7 .利用顺序表的操作,实现以下的函数。并分析你所编制的函数的时间复杂度,并分析(2)与(3)的时间复杂度出现差异的原因。(1)从顺序表中删除具有给定值X的所有元素。(2)从顺序表中删除其值在给定值S与t之间要求S小于t)的所有元素。(3)从有序顺序表中删除其值在给定值S与t之间要求S小于t的所有元素。(4)将两个有序顺序表la,Ib合并
4、成一个新的有序顺序表Ico(5)从顺序表中删除所有其值重复的元素,使表中所有元素的值均不相同。8 .线性表可用顺序表或链表存储。试问:(1)两种存储表示各有哪些主要优缺点?(2)如果有n个表同时并存,并且在处理过程中各表的长度会动态发生变化,表的总数也可能自动改变、在此情况下,应选用哪种存储表示?为什么?(3)假设表的总数根本稳定,且很少进行插入和删除,但要求以最快的速度存取表中的元素,这时,应采用哪种存储表示?为什么?9 .试写出计算线性链表长度的算法。10设有一个表头指针为h的单链表。试设计一个算法,通过遍历一趟链表,将链表中所有结点的链接方向逆转,如以下图所示。要求逆转结果链表的表头指针
5、h指向原链表的最后一个结点。W=OPPrh11 .设有一线性链表,其结点值均为整数。试将该线性链表分解为两个线性链表,其中一链表中的结点值均为负整数,而另一链表中结点的值均为正整数,并删除结点值为零的结点。12 .设ha和hb分别是两个带表头结点的非递减有序单链表的表头指针,试设计一个算法,将这两个有序链表合并成一个非递减有序的单链表。要求结果链表仍使用原来两个链表的存储空间,不另外占用其它的存储空间。表中允许有重复的数据。13 .设ha和hb分别是两个带表头结点的非递减有序单链表的表头指针,试设计一个算法,将这两个有序链表合并成一个非递增有序的单链表。要求结果链表仍使用原来两个链表的存储空间
6、,不另外占用其它的存储空间。表中允许有重复的数据。14 .在一个循环链表中寻找值为X的结点,并将该结点移到第一个结点之前。15 .对于下面的每一步,画出栈元素和栈顶指针的示意图:1栈初始化;元素X入栈;元素y入栈;出栈栈初始化6)元素Z入栈右图所示。结构的站台,到435612,16 .铁路进行列车调度时,常把站台设计成栈式结构的站台,如试问:(1)设有编号为1,2,3,4,5,6的六辆列车,顺序开入栈式那么可能的出栈序列有多少种?(2)假设进站的六辆列车顺序如上所述,那么是否能够得325641,154623和135426的出站序列,如果不能,说明为什么不能;如果能,说明如何得到(即写出进栈或出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件 基础 习题 答案
