《计算机软件技术基础》复习题和答案
《计算机软件技术基础》复习题答案

B 。
一般二叉树 B. 只有根结点的二叉树
根结点无左孩子的二叉树 D. 根结点无右孩子的二叉树
所有结点只有左孩子的二叉树 F. 所有结点只有右孩子的二叉树
若在线性表中采用折半查找法查找元素,该线性表应该 C 。
在 (5) 操作系统控制下,计算机能及时处理由过程控制反馈的信息
A. 应用软件 B. 系统软硬件
C. 资源 D. 设备
A. 数据 B. 作业
C. 中断 D. I/O
A. 分时 B. 多任务
C. 多用户 D. 实时
元素按值有序 B. 采用顺序存储结构
元素按值有序,且采用顺序存储结构 D. 元素按值有序,且采用链式存储结构
在分块检索中,对256个元素的线性表分成 16 块最好,每块的最佳长度是
;若每块的长度为8,其平均检索长度为 21 。
假定有K个关键字互为同义词,若用线性探测法把这K个关键字存入散列表中,至少要
若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为P
,P2,P3,…,Pn,若P1=n,则Pi
C 。
B. n-i C. n-i+1 D.不确定
对于一个栈,给出输入项A,B,C。如果输入项序列由A,B,C所组成,则不可能产生的输
A 。
D 次探测。
次 B. K次
次 D. K(K+1)/2次
在n个记录的有序顺序表中进行折半查找,最大的比较次数是1log
n。
技术广泛应用于查找过程,选择Hash函数的标准是 和 。
。
在下述排序算法中,所需辅助存储空间最多的是 B ,所需辅助存储空间最小
计算机软件技术基础复习题a答案

计算机软件技术基础复习题a答案1. 什么是软件工程?软件工程是指应用计算机科学、数学、逻辑学等学科的原理和方法,以工程化的方式开发和维护软件的过程。
2. 软件开发生命周期包括哪些阶段?软件开发生命周期包括需求分析、设计、编码、测试和维护五个阶段。
3. 什么是模块化设计?模块化设计是指将软件系统分解成若干个相对独立的、具有特定功能的模块,以便于管理和维护。
4. 面向对象编程的主要特点是什么?面向对象编程的主要特点包括封装性、继承性和多态性。
5. 什么是软件测试?软件测试是指通过人工或自动化的方式,对软件系统进行验证和确认,以发现和修复软件缺陷的过程。
6. 软件维护包括哪些类型?软件维护包括改正性维护、适应性维护、完善性维护和预防性维护。
7. 什么是数据库管理系统?数据库管理系统是一种用于创建和管理数据库的软件系统,它允许用户存储、检索和管理数据。
8. 什么是算法?算法是解决特定问题的一系列定义明确的计算步骤。
9. 什么是数据结构?数据结构是数据元素及其之间的关系的组织方式。
10. 什么是操作系统?操作系统是计算机系统中负责管理计算机硬件与软件资源的系统软件,它提供了用户与计算机硬件之间的接口。
11. 什么是网络协议?网络协议是一组规则和标准,用于在网络中进行数据传输和通信。
12. 什么是编译器?编译器是一种计算机程序,它将高级编程语言编写的源代码转换成计算机可以执行的机器代码。
13. 什么是解释器?解释器是一种计算机程序,它逐行读取源代码并直接执行,不需要将源代码转换成机器代码。
14. 什么是软件架构?软件架构是指软件系统的结构和组织,包括软件组件、它们之间的关系以及它们与环境的交互。
15. 什么是软件需求?软件需求是指软件系统应该满足的功能和非功能需求,包括用户需求和系统需求。
(完整版)《计算机软件技术基础》复习题(含答案),推荐文档

A. 110B. 108C. 100D. 120
57.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为P1,P2,P3,…,Pn,若P1=n,则Pi为C。
A.iB. n-iC. n-i+1D.不确定
68.判断一个顺序栈ST(最多元素为mo)为空的条件是B。
A. ST->top<>0B. ST->top=0C. st->top<>moD. st->top==mo 69.不带头结点的单链表head为空表的判定条件是A。
A.head==NILLB. head->next==NULL C. head->next==head D. head != NULL
20.若串S=”software”,其子串的数目是B。
A. 8B. 37C. 36D. 9
22.设高为h的二叉树只有度为0和2的结点,则此类二叉树的结点数至少为B
,至多为F。高为h的完全二叉树的结点数至少为E,至多为F
。
A. 2hB. 2h-1C. 2h+1D.h+1
E.2h-1F.2h-1G.2h+1-1H.2h+1
。(未要求一次性全部输入或输出)
A. 4B. 8C.不确定D.7 18.设栈的输入序列是1,2,3,4,则D不可能是其出栈序列。A. 1243B. 2134C. 1432D. 4312
19.以下ABD是C语言中”abcd321ABCD”的子串。
A. abcdB. 321ABC. “abcABC”D. “21AB”
《计算机软件技术基础》复习题
计算机软件技术基础所有题目答案自学

数据结构习题答案2第一节概论2第二节线性表10第三节栈和队列44第五节树53第七节查找67第八节排序80操作系统练习题参考答案87数据结构习题答案第一节概论一、选择题1.要求同一逻辑结构的所有数据元素具有相同的特性,这意味着( )。
A.数据元素具有同一的特点~B.不仅数据元素包含的数据项的个数要相同,而且对应数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等2.数据结构是一门研究非数值计算的程序设计问题中计算机的( (1) )以及它们之间的( (2) )和运算的学科。
(1) ~A.操作对象 B.计算方法 C.逻辑存储 D.数据映像(2) A.结构~B.关系 C.运算 D.算法3.数据结构被形式地定义为(D,R),其中D是( (1) )的有限集合,R是D上( (2) )的有限集合。
(1) A.算法~B.数据元素 C.数据操作 D.逻辑结构(2)A.操作 B.映像 C.存储~D.关系4.在数据结构中,从逻辑上可以把数据结构分为( )。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构~C.线性结构和非线性结构 D.内部结构和外部结构5.线性表的顺序存储结构是一种( )的存储结构。
~A.随机存取 B.顺序存取 C.索引存取 D.Hash存取6.算法分析的目的是( )。
A.找出数据结构的合理性 B.研究算法中的输入和输出的关系~C.分析算法的效率以求改进D.分析算法的易懂性和文档性7.计算机算法指的是( (1) ),它必须具备输入、输出和( (2) )等五个特征。
(1) A.计算方法 B.排序方法~C.解决某一问题的有限运算序列 D.调度方法(2) A.可行性、可移植性和可扩充性~B.可行性、确定性和有穷性 C.确定性,有穷性和稳定性 D.易读性、稳定性和安全性8.线性表若采用链表存储结构,要求内存中可用存储单元的地址( )。
A.必须是连续的 B.部分必须是连续的 C.一定是不连续的~D.连续不连续都可以9.在以下的叙述中,正确的是( )。
《计算机软件技术基础》复习答案.docx

《计算机软件技术基础》复习题——答案1.线性表的链式存储结构与顺序存储结构相比优点是一CD2. 线性表是具有n 个C 的有限序列。
A.表元索B.字符C.数据元索E.信息项3. 若长度为n 的线性表采用顺序存储结构,在其第I 个位置插入一个新元索的算法的时间复杂度为 C (lWIWn+1)A. 0(0)B. 0(1)C. 0(n)D. 0(n 2)4. 设A 是一个线性表(g 弧…,弘),采用顺序存储结构,则在等概率的前提下,平均每插入一个元素需耍移动的元素个数为 B ,平均每删除一•个元素需要移动的元索个数为A ;若元索插在eh 与茹】之间(OWTWn-1)的概率为"匸",则平均每插入一个 n(n +1)元素所要移动的元索个数为C5•下列函数屮,按它们在 ms 时的无穷人阶数,最大的是—D6•将卜•图所示的s 所指结点加到p 所指的结点之后,其语句应为:DA.所有的操作算法实现简单B.便于随机存取C.便于插入和删除 1).便于利川零散的存储器空间D.数据项C.2n + \D ・3n +14A . C. 10g/7n/2 B. nlog/7 D. n! nextnextnextA. s->next 二p+1; p->next 二s;B. (*p). next 二s; (*s) • next= (*p)•next;C. s->next 二p->next; p->next 二s->next; D ・ s->next 二p->next; p->next.=s;7. 将两个齐有n 个元索的有序表归并为一个有序表吋,其最少的比较次数是_ A 。
A. n B. 2n~l C. n~lD. 2n8. 卜面的程序段是合并两个无头结点链表(ha 和hb)为一个无头结点链表ha 的过程,作为 参数的两个链表都是按结点的data 域由人到小链接的。
计算机软件技术基础教程(第二版)习题及答案

第1章习题部分答案1. 操作系统的发展分为那几个阶段?解:操作系统的发展经历了三个阶段:操作系统的酝酿阶段、操作系统的形成阶段、操作系统的理论化和标准化阶段。
2. 计算机软件技术开发系统包括那几个阶段?解:计算机软件开发系统的发展经历了四个阶段:机器语言阶段、汇编语言阶段、高级语言阶段、面向对象语言和可视化语言阶段。
3. 计算机软件技术的主要范畴是什么?解:计算机软件技术的主要范畴包括软件工程技术、程序设计技术、软件工具环境技术、系统软件技术、数据库技术、实时软件技术、网络软件技术、与实际工作相关的软件技术等八个领域的内容。
4. 从软件技术的发展现状来看有哪些值得我们注意的问题?解:从软件技术的发展现状来看有以下几个值得我们注意的问题:1)软件危机2)软件技术标准,软件版权和软件价值评估3)软件技术的基础研究。
1第2章习题部分答案1. 什么是软件危机?软件危机的表现有哪些?解:软件开发技术的进步为能满足发展的要求,在软件开发中遇到的问题找不到解决的方法,问题积累起来形成了尖锐的矛盾,导致了软件危机。
2. 软件危机产生的原因是什么?解:造成软件危机的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的。
1)软件规模越来越大,结构越来越复杂。
2)软件开发管理困难而复杂。
3)软件开发费用不断增加。
4)软件开发技术落后。
5)生产方式落后。
6)开发工具落后,生产率提高缓慢。
3. 常见的软件过程模型有哪些?解:常见的软件过程模型有瀑布模型、增量模型、演化过程模型、敏捷开发4. 如何对软件质量进行评价?解:软件质量的评价主要围绕可维护性、可靠性、可理解性和效率这几个方面进行。
2第3章习题部分答案1. 软件可行性研究的目的是什么?软件可行性研究的任务又是什么?解:软件可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
可行性研究的任务首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来。
《计算机软件技术基础》复习题答案

《计算机软件技术基础》试题1.线性表的链式存储结构与顺序存储结构相比优点是 CD 。
A. 所有的操作算法实现简单B. 便于随机存取C. 便于插入和删除D. 便于利用零散的存储器空间2.线性表是具有n 个 C 的有限序列。
A. 表元素B. 字符C. 数据元素D. 数据项E. 信息项3.若长度为n 的线性表采用顺序存储结构,在其第I 个位置插入一个新元素的算法的时间复杂度为 C 。
(1≤I ≤n+1)A. O(0)B. O(1)C. O(n)D. O(n 2)4.设A 是一个线性表(a 1,a 2,…,a n ),采用顺序存储结构,则在等概率的前提下,平均每插入一个元素需要移动的元素个数为 B ,平均每删除一个元素需要移动的元素个数为A ;若元素插在a i 与a i+1之间(0≤I ≤n-1)的概率为)1()(2+-n n i n ,则平均每插入一个元素所要移动的元素个数为 C ; A. 21-n B.2n C. 312+n D. 413+n 5.下列函数中,按它们在∞→n 时的无穷大阶数,最大的是 D 。
A. log nB. nlog nC. 2n/2D. n!6.A. s->next=p+1; p->next=s;B. (*p).next=s; (*s).next=(*p).next;C. s->next=p->next; p->next=s->next;D. s->next=p->next; p->next=s;7.将两个各有n 个元素的有序表归并为一个有序表时,其最少的比较次数是 A 。
A. nB. 2n-1C. n-1D. 2n13.用单链表表示的链式队列的队头在链表的 A 位置。
A. 链头B. 链尾C. 链中14.若用单链表表示队列,则应该选用 B 。
A. 带尾指针的非循环链表B. 带尾指针的循环链表C. 带头指针的非循环链表D. 带头指针的循环链表15.在解决计算机主机与打印机之间速度不匹配问题时,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则从该缓冲区中取出数据打印,先放入打印缓冲区的数据先被打印。
《计算机软件技术基础》参考答案A.doc

《计算机软件技术基础》参考答案A一、单项选择题(每空1分,共50分)1-5 CBCBD 6-10 ADDCB11-15 ACABB 16-20 BLJCI21-25 CCABC 26-30 BADAB31-35 BCDBA 36-40 DDCDA41-45 DDCAC 46-50 BBCAB评分标准:本题每空1分,多选、少选、错选均不得分。
二、本题10分(1) v != NULL或v(2) x > v->val 或x != v->val(3) p->next(4) u->next(5) head->next评分标准:本题10分,每空2分,在(3)-(5)中未写出next扣1分三、本题10分(1) A!=NULL && B!=NULL(2) A->data==B->data(3) B=B->next;(4) A!=NULL(5) last->next=NULL;评分标准:本题10分,每空2分,在(2)中未写出data扣1分,在(3)和(5)中未写出next扣1分四、本题10分解:(1) A、B、C三个进程之间存在互斥的制约关系。
因为打印机属于临界资源,必须一个进程使用完之后另一个进程才能使用。
(2)mutex:用于互斥的信号量,初值为1。
各进程的代码如下:进程A 进程B 进程C... … ...... … ...P(mutex) P(mutex) P(mutex)申请打印机申请打印机申请打印机使用打印机使用打印机使用打印机V(mutex) V(mutex) V(mutex)… … …评分标准:本题10分,(1)题3分,(2)题7分,其中给出信号量含义和初值1分,三个进程代码各2分五、本题10分解:FIFO淘汰算法:内存块为3时,缺页中断(或称缺页次数、页面故障)为9;内存块为4时,缺页中断为10。
LRU淘汰算法:内存块为3时,缺页中断为10评分标准:本题10分,FIFO淘汰算法两种情况各3分,LRU淘汰算法1分,要求有分析过程六、本题10分解:段式存储管理的地址转换过程为:(1)根据逻辑地址中的段号查段表的相应栏目;(2)根据段内地址<段长度,检查地址是否越界;(3)若不越界,则绝对地址=该段的主存起始地址+段内地址。
计算机软件技术基础习题与参考答案

习题11.下列描述中正确的是。
A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合2.数据的存储结构是指。
A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示3.数据结构中,与所使用的计算机无关的是数据的______。
A. 存储结构B. 物理结构C. 逻辑结构D. 物理和存储结构4.以下数据结构中不属于线性数据结构的是______。
A. 队列B. 线性表 C . 二叉树 D. 栈5.在计算机中,算法是指______。
A. 查询方法B. 加工方法C. 解题方案的准确而完整的描述D. 排序方法6.在下列选项中,哪个不是一个算法一般应该具有的基本特征______。
A. 确定性B. 可行性C. 无穷性D. 拥有足够的情报7.下面叙述正确的是______。
A. 算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对8.算法分析的目的是______。
A. 找出数据结构的合理性B. 找出算法中输入和输出之间的关系C. 分析算法的易懂性和可靠性D. 分析算法的效率以求改进9.算法的时间复杂度是指______。
A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数10.算法的空间复杂度是指______。
A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间11.算法一般都可以用哪几种控制结构组合而成______。
A. 循环、分支、递归B. 顺序、循环、嵌套C. 循环、递归、选择D. 顺序、选择、循环12.下列对于线性表的描述中正确的是。
A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且各前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的13.线性表的顺序存储结构和线性表的链式存储结构分别是______。
《计算机软件技术基础》复习题答案.docx

《计算机软件技术基础》试题1.线性表的链式存储结构与顺序存储结构相比优点是一CD2. 线性表是具有n 个 C的有限序列。
A.表元索B.字符C.数据元索E.信息项3. 若长度为n 的线性表采用顺序存储结构,在其第I 个位置插入一个新元索的算法的时间复杂度为 C (lWIWn+1)A. 0(0)B. 0(1)C. 0(n)D. 0(n 2)4. 设A 是一个线性表(g 弧…,弘),采用顺序存储结构,则在等概率的前提下,平均每插入一个元素需耍移动的元素个数为 B ,平均每删除一•个元素需要移动的元索个数为A ;若元索插在eh 与茹】之间(OWTWn-1)的概率为"匸",则平均每插入一个 n(n +1)元素所要移动的元索个数为C5•下列函数屮,按它们在 ms 时的无穷人阶数,最大的是—D 6•将卜•图所示的s 所指结点加到p 所指的结点之后,其语句应为:DA.所有的操作算法实现简单B.便于随机存取C.便于插入和删除 1).便于利川零散的存储器空间D.数据项C.2n + \3D ・3n +14A . C. 10g/7n/2 B. nlog/7 D. n! nextnextnextA. s->next 二p+1; p->next 二s;B. (*p). next 二s; (*s) • next= (*p)•next;C. s->next 二p->next; p->next 二s->next; D ・ s->next 二p->next; p->next.=s;7. 将两个齐有n 个元索的有序表归并为一个有序表吋,其最少的比较次数是_ A 。
A. n B. 2n~l C. n~lD. 2n8. 卜面的程序段是合并两个无头结点链表(ha 和hb)为一个无头结点链表ha 的过程,作为 参数的两个链表都是按结点的data 域由人到小链接的。
合并后新链表的结点仍按此方式链 接。
《计算机软件技术基础》试题答案

《计算机软件技术基础》试题答案一、选择题(每题5分,共30分)1. 下列关于软件工程的描述,错误的是(D)。
A. 软件工程是计算机科学的一个分支B. 软件工程的目标是提高软件质量和生产率C. 软件工程包括软件开发、维护和管理等方面D. 软件工程只关注大型软件的开发2. 下列哪种编程范式主要用于描述程序逻辑和数据的结构?(B)A. 面向过程编程B. 面向对象编程C. 函数式编程D. 逻辑编程3. 下列关于软件测试的描述,错误的是(C)。
A. 软件测试是软件开发过程中的重要环节B. 软件测试的目的是发现和修正软件中的错误C. 软件测试无需考虑软件的性能和稳定性D. 软件测试分为单元测试、集成测试和系统测试等阶段4. 下列关于软件维护的描述,正确的是(B)。
A. 软件维护是指对软件进行升级和优化B. 软件维护包括纠正软件错误、改进软件性能和增加新功能等C. 软件维护不需要考虑软件的可维护性D. 软件维护仅限于软件开发完成后5. 下列关于软件项目管理工具的描述,错误的是(D)。
A. 软件项目管理工具可以协助项目经理进行项目规划B. 软件项目管理工具可以协助项目经理进行项目监控C. 软件项目管理工具可以协助项目经理进行项目沟通D. 软件项目管理工具无法协助项目经理进行项目风险管理二、填空题(每题5分,共30分)1. 软件生命周期可以分为______、______、______、______和______五个阶段。
答案:需求分析、设计、实现、测试、维护2. 在面向对象编程中,一个对象通常包括______和______两部分。
答案:属性、方法3. 软件测试的目的是______、______和______。
答案:发现错误、修正错误、提高软件质量4. 软件维护的类型包括______、______、______和______。
答案:纠错性维护、适应性维护、完善性维护、预防性维护5. 软件项目管理工具主要包括______、______、______和______。
《计算机软件技术基础》答卷纸

《计算机软件技术基础》参考答案及评分标准一、单项选择题(每空1分,共50分)评分标准:每空1分,错选、多选、漏选均不得分。
51.(本题共10分)评分标准:每空2分,如果答案比较接近正确答案给1分。
52.(本题共10分)缺页中断率f= 9/12=75%缺页中断率f= 7/12=58.3%评分标准:每小题5分,共10分。
其中缺页中断行1分,每出现一处错误扣0.5分,出现两处或以上错误,本 项得0分。
中断率计算1分,写对公式得0.5分。
如果未写计算公式结果正确,不扣分; 如果未写公式但结果有误,则本项得0分。
页面调试3分。
每当有一列中有错误则扣0・5分,至本项扣至0分为止。
53 .(本题共10分)对11个元素进行折半查找的判定树如下图所示:第i 层的元素的查找长度为i,所以平均查找长度为jffi = ^Q+2x2÷3x4⅞4x <) = 3LRU评分标准:判定树6分,当有一个元素的位置错误时扣0・5分。
平均查找长度4分。
如果直接写结果,则结果正确得4分,结果为5、5.5 或6得2分,结果为2至4间某数得1分。
如果写有过程,正确指明查找每个元素的概率得1分,给出每个元素的查找长度得1分,计算公式正确得1分,结果正确得1分。
54.(本题共10分)进行堆排序的过程如下:初始记录: 46 24 53 34 36 58 86 75 37 44第1趟排序: 36 75 58 37 44 46 53 34 24 [86]第2趟排序: 24 44 58 37 36 46 53 34 [75 86]第3趟排序: 34 44 53 37 36 46 24 [58 75 86]第4趟排序: 24 44 46 37 36 34 [53 58 75 86]第5趟排序: 24 44 34 37 36 [46 53 58 75 86]第6趟排序: 36 37 34 24 [44 46 53 58 75 86]第7趟排序: 24 36 34 E37 44 46 53 58 75 86]第8趟排序: 34 24 E36 37 44 46 53 58 75 86]第9趟排序: 24 E34 36 37 44 46 53 58 75 86]即最终排序结果为:24 34 36 37 44 46 53 58 75 86o评分标准:每趟排序结果和最终排序结果正确得1分,如果该行有错,则出现一处错误扣0.5分,出现两处或以上错误本行得。
《计算机软件技术基础》试题及答案

《计算机软件技术基础》试题1.线性表的链式存储结构与顺序存储结构相比优点是CD 。
A. 所有的操作算法实现简单B. 便于随机存取C. 便于插入和删除D. 便于利用零散的存储器空间2.线性表是具有n个 C 的有限序列。
A. 表元素B. 字符C. 数据元素D. 数据项E. 信息项3.若长度为n的线性表采用顺序存储结构,在其第I个位置插入一个新元素的算法的时间复杂度为 C 。
(1≤I≤n+1)A. O(0)B. O(1)2C. O(n) D. O(n)4.设A是一个线性表(a1,a2,?,an),采用顺序存储结构,则在等概率的前提下,平均每插入一个元素需要移动的元素个数为 B ,平均每删除一个元素需要移动的元素个数为A ;若元素插在ai与ai+1之间(0≤I≤n-1)的概率为元素所要移动的元素个数为 C ;2(n?i),则平均每插入一个n(n?1)n?1 22n?1C. 3A. n 23n?1D. 4B.5.下列函数中,按它们在n??时的无穷大阶数,最大的是 D 。
A. lognB. nlognn/2C. 2 D. n!6.A. s->next=p+1; p->next=s;B. (*p).next=s; (*s).next=(*p).next;C. s->next=p->next; p->next=s->next;D. s->next=p->next; p->next=s;7.将两个各有n个元素的有序表归并为一个有序表时,其最少的比较次数是 A 。
A. nB. 2n-1C. n-1D. 2n8.下面的程序段是合并两个无头结点链表(ha和hb)为一个无头结点链表ha的过程,作为参数的两个链表都是按结点的data域由大到小链接的。
合并后新链表的结点仍按此方式链接。
请填写下述空框,使程序能正确运行。
《计算机软件技术基础》试题及答案

《计算机软件技术基础》试题1.线性表的链式储存结构与次序储存结构对比优点是CD 。
A.所有的操作算法实现简单B.便于随机存取C.便于插入和删除D.便于利用零落的储存器空间2.线性表是拥有n个 C 的有限序列。
A.表元素B.字符C.数据元素D.数据项E.信息项3.若长度为n的线性表采纳次序储存结构, 在其第I个地点插入一个新元素的算法的时间复杂度为 C 。
(1≤I≤n+1)A.O(0)B.O(1)C.O(n)D.O(n2)4.设A是一个线性表(a1,a2,…,an), 采纳次序储存结构, 则在等概率的前提下, 均匀每插入一个元素需要挪动的元素个数为 B , 均匀每删除一个元素需要挪动的元素个数为A ;若元素插在ai与ai+1之间(0≤I≤n-1)的概率为, 则均匀每插入一个元素所要挪动的元素个数为 C ;A. B.C. D.5.以下函数中, 按它们在时的无量大阶数, 最大的是 D 。
A.lognB.nlognC.2n/2D.n!6.将以下图所示的s所指结点加到p所指的结点以后, 其语句应为: D 。
A.s->next=p+1.p->next=s;B.(*p).next=s.(*s).next=(*p).next;C.s->next=p->next.p->next=s->next;D.s->next=p->next.p->next=s;7.将两个各有n个元素的有序表合并为一个有序表时, 其最少的比较次数是A 。
A.nB.2n-1C.n-1D.2n8.下边的程序段是合并两个无头结点链表(ha和hb)为一个无头结点链表ha的过程, 作为参数的两个链表都是按结点的data域由大到小链接的。
合并后新链表的结点仍按此方式链接。
请填写下述空框, 使程序能正确运转。
#define NULL 0typedef struct node{int data;struct node *next;}node, linklisttype;void combine(linklisttype *ha, linklisttype *hb){linklisttype *h, *p;h = (linklisttype *)malloc(sizeof(linklisttype));h->next = NULL;p = h;while(ha != NULL && hb != NULL)if(ha->data>=hb->data){ /*较大的元素先插入*/p->next = (1) ;p = (2) ;(3) ;}else{p->next = (4) ;p = (5) ;(6) ;}if(ha==NULL) (7) ;if(hb==NULL) (8) ;ha = h->next;free(h);}参照答案: (1) ha (2) p->next (3) ha=ha->next(4) hb (5) p->next (6) hb=hb->next(7) p->next=hb (8) p->next=ha9.假如表A中所有元素(a1,a2,…,an)与表B的一个次序子表(bk,bk+1,…bk+n-1)完好同样(即a1=bk,a2=bk+1,…an=bk+n-1), 则称表A包含在表B中。
《计算机软件技术基础》参考答案A

《计算机软件技术基础》参考答案A一、单项选择题(每空1分,共50分)1-5 CBCBD 6-10 ADDCB11-15 ACABB 16-20 BLJCI21-25 CCABC 26-30 BADAB31-35 BCDBA 36-40 DDCDA41-45 DDCAC 46-50 BBCAB评分标准:本题每空1分,多选、少选、错选均不得分。
二、本题10分(1) v != NULL或v(2) x > v->val 或x != v->val(3) p->next(4) u->next(5) head->next评分标准:本题10分,每空2分,在(3)-(5)中未写出next扣1分三、本题10分(1) A!=NULL && B!=NULL(2) A->data==B->data(3) B=B->next;(4) A!=NULL(5) last->next=NULL;评分标准:本题10分,每空2分,在(2)中未写出data扣1分,在(3)和(5)中未写出next扣1分四、本题10分解:(1) A、B、C三个进程之间存在互斥的制约关系。
因为打印机属于临界资源,必须一个进程使用完之后另一个进程才能使用。
(2)mutex:用于互斥的信号量,初值为1。
各进程的代码如下:进程A 进程B 进程C... … ...... … ...P(mutex) P(mutex) P(mutex)申请打印机申请打印机申请打印机使用打印机使用打印机使用打印机V(mutex) V(mutex) V(mutex)… … …评分标准:本题10分,(1)题3分,(2)题7分,其中给出信号量含义和初值1分,三个进程代码各2分五、本题10分解:FIFO淘汰算法:内存块为3时,缺页中断(或称缺页次数、页面故障)为9;内存块为4时,缺页中断为10。
LRU淘汰算法:内存块为3时,缺页中断为10评分标准:本题10分,FIFO淘汰算法两种情况各3分,LRU淘汰算法1分,要求有分析过程六、本题10分解:段式存储管理的地址转换过程为:(1)根据逻辑地址中的段号查段表的相应栏目;(2)根据段内地址<段长度,检查地址是否越界;(3)若不越界,则绝对地址=该段的主存起始地址+段内地址。
计算机软件技术基础习题与参考答案

习题11.下列描述中正确的是。
A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合2.数据的存储结构是指。
A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示3.数据结构中,与所使用的计算机无关的是数据的______。
A. 存储结构B. 物理结构C. 逻辑结构D. 物理和存储结构4.以下数据结构中不属于线性数据结构的是______。
A. 队列B. 线性表 C . 二叉树 D. 栈5.在计算机中,算法是指______。
A. 查询方法B. 加工方法C. 解题方案的准确而完整的描述D. 排序方法6.在下列选项中,哪个不是一个算法一般应该具有的基本特征______。
A. 确定性B. 可行性C. 无穷性D. 拥有足够的情报7.下面叙述正确的是______。
A. 算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对8.算法分析的目的是______。
A. 找出数据结构的合理性B. 找出算法中输入和输出之间的关系C. 分析算法的易懂性和可靠性D. 分析算法的效率以求改进9.算法的时间复杂度是指______。
A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数10.算法的空间复杂度是指______。
A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间11.算法一般都可以用哪几种控制结构组合而成______。
A. 循环、分支、递归B. 顺序、循环、嵌套C. 循环、递归、选择D. 顺序、选择、循环12.下列对于线性表的描述中正确的是。
A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且各前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的13.线性表的顺序存储结构和线性表的链式存储结构分别是______。
计算机软件技术基础所有题目答案-自学

数据结构习题答案 2 第一节概论 2 第二节线性表 5 第三节栈和行列16 第五节树19 第七节查找25 第八节排序29 操作系统练习题参照答案32数据结构习题答案第一节概论一、选择题1.要求同一逻辑结构的所有数据元素拥有相同的特征,这意味着( )。
A.数据元素拥有同一的特色~B.不单数据元素包含的数据项的个数要相同,并且对应数据项的种类要一致 C.每个数据元素都相同 D.数据元素所包含的数据项的个数要相等2.数据结构是一门研究非数值计算的程序设计问题上当算机的( (1) )以及它们之间的( (2) )和运算的学科。
(1) ~A.操作对象 B.计算方法 C.逻辑储存 D.数据映像(2) A.结构~B.关系 C.运算 D.算法3.数据结构被形式地定义为(D,R),此中D是( (1) )的有限会合,R是D上( (2) )的有限会合。
(1) A.算法~B.数据元素 C.数据操作 D.逻辑结构(2)A.操作 B.映像 C.储存~D.关系4.在数据结构中,从逻辑上能够把数据结构分为( )。
A.动向结构和静态结构 B.紧凑结构和非紧凑结构~C.线性结构和非线性结构 D.内部结构和外面结构5.线性表的次序储存结构是一种( )的储存结构。
~A.随机存取 B.次序存取 C.索引存取 D.Hash存取6.算法剖析的目的是( )。
A.找出数据结构的合理性 B.研究算法中的输入和输出的关系~C.剖析算法的效率以求改良D.剖析算法的易懂性和文档性7.计算机算法指的是( (1) ),它一定具备输入、输出和( (2) )等五个特色。
(1) A.计算方法 B.排序方法~C.解决某一问题的有限运算序列 D.调动方法(2) A.可行性、可移植性和可扩大性~B.可行性、确立性和有穷性 C.确立性,有穷性和稳固性 D.易读性、稳固性和安全性8.线性表若采纳链表储存结构,要求内存中可用储存单元的地点( )。
A.一定是连续的 B.部分一定是连续的 C.必定是不连续的~D.连续不连续都能够9.在以下的表达中,正确的选项是( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机软件技术基础》试题2.线性表是具有n 个 C 的有限序列。
A. 表元素B. 字符C. 数据元素D. 数据项E. 信息项1.线性表的链式存储结构与顺序存储结构相比优点是 CD 。
A. 所有的操作算法实现简单B. 便于随机存取C. 便于插入和删除D. 便于利用零散的存储器空间3.若长度为n 的线性表采用顺序存储结构,在其第I 个位置插入一个新元素的算法的时间复杂度为 C 。
(1≤I ≤n+1)A. O(0)B. O(1)C. O(n)D. O(n 2)4.设A 是一个线性表(a 1,a 2,…,a n ),采用顺序存储结构,则在等概率的前提下,平均每插入一个元素需要移动的元素个数为 B ,平均每删除一个元素需要移动的元素个数为A ;若元素插在a i 与a i+1之间(0≤I ≤n-1)的概率为)1()(2+-n n i n ,则平均每插入一个元素所要移动的元素个数为 C ; A. 21-n B. 2n C. 312+n D. 413+n 5.下列函数中,按它们在∞→n 时的无穷大阶数,最大的是D 。
A. log nB. nlog nC. 2n/2D. n!7.将两个各有n个元素的有序表归并为一个有序表时,其最少的比较次数是 A 。
A. nB. 2n-1C. n-1D. 2n8.下面的程序段是合并两个无头结点链表(ha和 hb)为一个无头结点链表ha的过程,作为参数的两个链表都是按结点的data域由大到小链接的。
合并后新链表的结点仍按此方式链接。
请填写下述空框,使程序能正确运行。
6.将下图所示的s所指结点加到p所指的结点之后,其语句应为:D 。
A. s->next=p+1; p->next=s;B. (*p).next=s; (*s).next=(*p).next;C. s->next=p->next; p->next=s->next;D. s->next=p->next; p->next=s;#define NULL 0typedef struct node{int data;struct node *next;}node, linklisttype;void combine(linklisttype *ha, linklisttype *hb){ linklisttype *h, *p;h = (linklisttype *)malloc(sizeof(linklisttype));h->next = NULL;p = h;while(ha != NULL && hb != NULL)if(ha->data>=hb->data){ /*较大的元素先插入*/ p->next = (1) ;p = (2) ;(3) ;}else{p->next = (4) ;p = (5) ;(6) ;}if(ha==NULL) (7) ;if(hb==NULL) (8) ;free(h);}参考答案:(1) ha (2) p->next (3) ha=ha->next(4) hb (5) p->next (6) hb=hb->next(7) p->next=hb (8) p->next=ha9.如果表A中所有元素(a1,a2,…,a n)与表B的一个顺序子表(b k,b k+1,…b k+n-1)完全相同(即a1=b k,a2=b k+1,…a n=b k+n-1),则称表A包含在表B中。
设ha,hb为带头结点的单链表,分别表示有序表A和B,下面的函数用于判别表A是否包含在表B中,若是,则返回true,否则返回false。
(提示:用递归实现)#define true 1#define false 0#define NULL 0typedef struct node{int data;struct node *next;}node, linklisttype;int inclusion(linklisttype *ha, linklisttype *hb){ linklisttype *pa, *pb;pa = ha->next;(1) ;while( (2) )if(pa->data=pb->data) (3) ;else (4) ;(5) ;}参考答案:(1) if(pa==NULL) return(true)(2) pb!=NULL && pa->data>=pb->data(3) return(inclusion(pa, pb))(4) pb = pb->next;(5) return(false)10.在本题的程序中,函数create_link_list(n)建立一个具有n个结点的循环链表;函数josephus(n,I,m)对由create_link_list(n)所建立的具有n个结点的循环链表按一定的次序逐个输出,并删除链表中的所有结点。
参数n(n>0)指明循环链表的结点个数,参数I(1≤I≤n)指明起始结点,参数m(m>0是步长),指明从起始结点或前次被删除并输出的结点之后的第m个结点作为本次被输出并删除的结点。
例如,对于下图所示的具有6个结点的循环链表,在调用josephus(6,3,2)后,将输出5,1,3,6,4,2。
请在空框处填上适当内容,每框只填一个语句。
#define NULL 0typedef struct node{int data;struct node *next;}node, linklisttype;linklisttype *create_link_list(int n){linklisttype *head, *p, *q;int I;head = NULL;if(n>0){head = (linklisttype *)malloc(sizeof(linklisttype));p = head;for(I=1;I<=n-1;I++){ /*此循环用于建立一个链表,链表的内容从1至n-1*/p->data = I;q = (linklisttype *)malloc(sizeof(linklistttype));(1) ;(2) ;}p->data = n;(3) ; /*建立从尾链到首的环形结构*/}return(head);}void Josephus(int n, int j, int m){linklisttype *p, *q;int j;p = create_link_list(n);for(;I>1;I--) p = p->next;(4) ;while(j<n){for(I=1;I<=m-1;I++) p = p->next;(5) ;printf(“%8d”,q->data);(6) ;free(q);j=j+1;}}参考答案:(1) p->next = q;(2) p = q;(3) p->next = head(4) j=0(5) q=p->next;(6) p->next = q->next11.在下列程序中,函数difference(A,B)用于求两集合之差C=A-B,即当且仅当e是A中的一个元素,且不是B中的元素时,e是C中的一个元素。
集合用有序链表实现,用一个空链表表示一个空集合,表示非空集合的链表根据元素之值按递增排列,执行C=A-B之后,表示集合A和B的链表不变,若结果集合C非空,则表示它的链表应根据元素之值按递增序排列。
函数append()用于在链表中添加结点。
#include <stdio.h>#define NULL 0typedef struct node{int data;struct node *next;}NODE;NODE *append(NODE *last, int x){last->next=(NODE *)malloc(sizeof(NODE));last->next->data=x;return(last->next);}NODE *difference(NODE *A ,NODE *B){ NODE *C,*last;C=last=(NODE *)malloc(sizeof(NODE));while( (1) )if(A->data < B->data){last=append(last,A->data);A=A->next;}elseif( (2) ){A=A->next;B=B->next;}else(3) ;while( (4) ){last=append(last,A->data);A=A->next;}(5) ;last=C;C=C->next;free(last);return(C);}参考答案:(1) A!=NULL & B!=NULL(2) A->data==B->data(3) B=B->next;(4) A!=NULL(5) last->next=NULL;12.阅读以下算法,填充空格,使其成为完整的算法。
其功能是在一个非递减的顺序存储线性表中(从下标1处开始存储),删除所有值相等的多余元素。
#define MAXSIZE 30typedef struct{int elem[MAXSIZE];int length;/*表长*/}sqlisttype;void exam21(sqlisttype *L){int i,j;i=1,j=2;while( (1) ){if(L->elem[i]!=L->elem[j]){if(j!=(i+1))(2) ;L->length=L->length-(j-i-1);(3) ;}else{(4) ;if(j>L->length) (5) ;}}}参考答案:(1) j<=L->length(2) for(int k=j;k<=L->length;k++)L->elem[k-(j-i-1)]=L->elem[k];(3) i++,j=i+1;(4) j++;(5){L->length=L->length-(j-i-1); break;}13.用单链表表示的链式队列的队头在链表的 A 位置。
A. 链头B. 链尾C. 链中14.若用单链表表示队列,则应该选用 B 。