大学计算机软件技术基础考试技术复习题
(完整word版)计算机软件技术基础复习题和思考题答案
计算机软件技术基础复习题和思考题答案1。
5.1 复习题1。
解释计算机程序的概念。
计算机程序(computer programs),简称程序,是指计算机的指令序列.2. 什么是源代码程序?源代码是指以程序设计语言编写的、可读的语句和声明的集合,程序设计人员的工作就是使用程序设计语言编写源代码,源代码经过编译后转变为计算机可以执行的程序。
3. 什么是可执行程序?可执行程序是指包含了计算机可以直接执行的指令的文件。
为了与源代码相区别,可执行程序又被称为二进制代码。
4。
什么是计算机软件技术?计算机软件技术是与软件的设计、实施和使用相关的多种技术的统称。
软件的设计与实施涉及到程序设计语言、算法和数据结构、数据库系统、多媒体、软件工程等技术,软件的使用涉及到质量、可靠性、专利、知识产权、道德、法律等管理和技术。
5. 如何对软件进行分类?可以根据软件的功能进行分类,也可以根据软件的不同开发方式进行划分,还可以从软件的使用方式进行分类。
根据软件的功能来划分是一种主要的分类方式,可以把软件分为系统软件、编程软件和应用软件3大类型。
6. 什么是系统软件?系统软件(system software)指管理和控制计算机硬件、使计算机工作的软件。
系统软件是一种非常重要的软件类型,它为用户提供了一种操作计算机硬件的便捷方法,为其他程序提供了运行的基础。
7. 常见的系统软件有哪些?根据系统软件的功能特点,可以继续划分为操作系统、设备驱动程序、实用工具以及其他系统软件。
8. 什么是操作系统?操作系统(operating system,OS)是位于计算机系统中的硬件和软件之间的接口,负责管理和协调计算机硬件的操作和计算机有限资源的共享。
9. 列出3个典型的操作系统。
主要的操作系统包括微软公司的Windows系列操作系统、Unix和类Unix操作系统、苹果公司的Mac OS X 操作系统、Linux操作系统等。
任意列出3个即可.10. 什么是编程软件?编程软件(programming software)又称为编程工具(programming tool)或软件开发工具(software development tool),是一种软件开发人员用于创建、调试、维护其他程序和应用软件的软件工具。
计算机软件技术基础复习题
《计算机软件技术基础》复习题一、基本概念1、在操作系统中,进程是资源分配、调度和管理的最小单位。
2、进程在运行过程中有3种基本状态,它们是运行态、就绪态和等待待态3、计算机系统的层次结构中,位于硬件系统之外的所有层次统称为虚拟机。
4、操作系统向用户提供了3种类型界面,分别是命令界面、程序界面和图形界面。
5、进程与程序的根本区别在于静态与动态的特点。
6、存储器间接寻址方式指令中给出的是操作数地址所在的存储地址,CPU需要访问内存两次才能获得操作数。
7、操作系统中引入多道程序设计的目的是提高设备利用率。
8、引入缓冲的主要目的是改善CPU和I/O设备之间速度不匹配的情况。
9、I/O通道方式的数据交换方式是存储设备与I/O设备直接交换信息而不经过CPU来完成。
10、CPU输出数据的速度远远高于打印机的打印速度,可以采用缓冲技术解决这一矛盾。
11、采用页式存储管理不会产生内存碎片。
12、冯诺依曼计算机工作方式的基本特点是按地址访问并顺序执行。
13、计算机主频的周期是指时钟周期。
14、存储周期是指存储器进行连续读写操作所允许的最短时间间隔。
15、CPU输出数据的速度远远高于打印机的打印速度,可以采用缓冲技术解决这一矛盾。
16、提供支持程序浮动的寻址方式是相对寻址。
17、计算机的外围设备是指除了CPU和内存以外的其它设备。
18、在主存和CPU之间增加Cache的目的是解决主存和CPU之间速度不匹配的问题。
19、操作系统的功能包括处理机管理、存储管理、文件管理和设备管理,20、现在主要采用总线结构作为计算机硬件之间的连接方式。
21、一般的程序设计语言的定义都涉及语法、语义和语用三个方面。
其中描述如何用语言基本符号组成程序中各个语法成分的一组规则称为语法。
对程序中各个语法成分含义的描述称为语义。
涉及语言符号及其使用者之间关系的内容称为语用。
22、程序设计语言一般分为低级语言和高级语言两大类。
其中低级语言又称为面向机器的语言。
软件技术基础复习题及重点内容
软件技术基础试题一(2008)一、选择题(每空2分)30分1.在数据结构中,从逻辑上可以把数据结构分为c。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结果和外部结构2.为保证CUP执行程序指令时能正确访问存储单元,需要将用户程序中的逻辑地址转换为运行时可由机器直接访问的物理地址,这一过程称为c。
A.地址分配B.地址计算C.重定位D.地址查询3.一个已经具备运行条件,但由于没有获得CPU而不能运行的进程处于c。
A.运行状态B.睡眠状态C.就绪状态D.阻塞状态4.在页式存储管理中,系统提供一对硬件寄存器,它们是b。
A.基址寄存器和限长寄存器B.页表始址寄存器和页表长度寄存器C.上界寄存器和下界寄存器D.直接地址寄存器和间接地址寄存器5.在一个长度为n 的顺序线性表中,在值为x 的元素前插入一个元素时,所需的平均移动次数(假定查找每个元素的概率都相等)为b。
A nB n/2C(n+1)/2D(n-1)/26.栈的插入和删除操作在a进行。
A栈顶B栈底C任意位置D指定位置7.由权值分别为11 ,8 ,6 ,2 ,5 的叶子结点生成一棵哈夫曼树,它的带权路径长度为d。
A24B71C48D738.队的插入操作在a进行。
A队尾B排头C任意位置D指定位置9.深度为5的二叉树中至多含有b个结点。
A15B31C63D3210.线性表的链式存储结构要求所有结点的数据在内存中的地址是d。
A. 必须是连续的B. 部分必须是连续的C. 一定是不连续的D. 连续或不连续都可以11.现代计算机系统,不论是大型机、小型机或微型机,都是由c组成。
A. 处理器和语言系统B. 软件系统和操作系统C. 硬件和软件D. 数据库和操作系统12.中央处理器(CPU)主要由a组成。
A. 控制器和运算器B.寄存器和存储器C. 硬件和软件D. 寄存器和控制器13.有编号为1,2,3的三辆车,顺序进入一个栈式车库,则不可能得到的出库车车辆序列是b。
软件技术基础总复习题及参考答案
软件技术基础总复习题及参考答案软件技术基础总复习题及参考答案一、选择题1、线性表若是采用链式存储结构时,要求内存中可用存储单元的地址 D 。
A、必须是连续的B、部分地址必须是连续的C、一定是不连续的D、连续或不连续都可以2、栈和队列都是B 。
A、顺序存贮的线性结构B、限制存取点的线性结构C、链接存贮的线性结构D、限制存取点的非线性结构3、与线性表的链接存贮不相符合的特性是 C 。
A、便于插、删运算B、存贮空间动态分配C、需要连续的存贮空间D、只能顺序查找4、设二叉树的根为第一层,则第i 层上的结点数最多有B。
A、2i B、2i +1D、2i -1C、2-1i 5、如将一棵有n 个结点的完全二叉树按顺序存放方式,存放在下标编号为0, 1,…, n-1 的一维数组中,设某结点下标为k(k>0),则其双亲结点的下标是A。
A、(k-1)/2B、(k+1)/2C、k/2D、k-16、权值分别为3,8,6,2,5 的叶子结点生成一棵霍夫曼树,它的带权路径长度为A。
A、53 B、48 C、72 D、247、设I 和O 分别表示入栈和出栈操作,栈的初态和终态都为空,则下列操作序列合法的有_ D_ _。
A、IOIOOIOIB、IOOIOIIOC、IIIOIOIOOD、IIOIIOOO 8、二叉树的前序序列为EFHIGJK,中序序列为HFIEJKG,则二叉树的根为C 。
A、K B、G C、E D、H 9、对有序表{ -1, 0, 1, 3, 4, 6, 8, 10, 12 }进行折半查找,则查找12 需要比较的次数为 B 。
A、3 B、4 C、5 D、6 10、在一个单链表中,若q 结点是p 结点的前驱结点,若在q 与p 之间插入结点s,则执行 D 。
A、s→link = p→link; p→link = s; B、p→link= s; s→link = q; C、p→link = s→link; s→link = p; D、q→link = s; s→lin k = p; 11、一个栈的入栈序列为a,b,c,则出栈序列不可能的是C 。
《计算机软件技术基础》复习答案.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 域由人到小链接的。
《计算机软件技术基础》复习题答案.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 域由人到小链接的。
合并后新链表的结点仍按此方式链 接。
计算机软件技术基础试题库
一、单项选择题(1)一个算法应该是()。
A) 程序B) 问题求解步骤的描述C) 要满足五个基本属性D) A和C(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)下列程序的时间复杂度为()i=0;s=0;while(s<n){ i++;s=s+i;}A) O(n)B) O(n2)C) O(n)D) O(n2)(8)下列程序段的渐进时间复杂度为()。
for( int i=1;i<=n;i++)for( int j=1;j<= m; j++)A[i][j] = i*j ;A)O(m2) B)O(n2) C)O(m*n) D)(m+n) (9)程序段如下:sum=0;for(i=1;i<=n;i++)for(j=1;j<=n;j++)sum++;其中n为正整数,则最后一行的语句频度在最坏情况下是()。
A)O(n)B) O(nlogn) C) O(n3) D) O(n2) (10)在下面的程序段中,对x的赋值语句的频度为()。
for ( i=1; i>=n ; i++)for ( j=1; j>=n ; j++)x:=x+1;A) O(2n) B)O(n) C) O(n2) D) O(log2n)(11)程序段for ( i:=n-1; i<=1; i--)for ( j:=1; j>=i ; j++)if (a[j]>a[j+1] ){ t=a[j]; a[j]= a[j+1]; a[j+1]= t; }其中n为正整数,则最后一行的语句频度在最坏情况下是()。
大学计算机软件技术基础考试技术复习题
大学计算机软件技术基础考试技术复习题Revised as of 23 November 2020线性表采用链式存储时,结点的存储地址()A.必须是不连续的B.连续与否均可C.必须是连续的D.和头结点的存储地址相连续由两个栈共享一个向量空间的好处是:()A.减少存取时间,降低下溢发生的机率B.节省存储空间,降低上溢发生的机率C.减少存取时间,降低上溢发生的机率D.节省存储空间,降低下溢发生的机率假设以带行表的三元组表表示稀疏矩阵,则和下列行表对应的稀疏矩阵是()在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,则度为0的结点个数为( )A.4 B.5 C.6 D.7一棵含18个结点的二叉树的高度至少为( C ).4 C已知二叉树的先序序列为ABDECF,中序序列为DBEAFC,则后序序列为( D ) 无向图中一个顶点的度是指图中( B )A.通过该顶点的简单路径数B.与该顶点相邻接的顶点数C.通过该顶点的回路数D.与该顶点连通的顶点数设顺序存储的线性表共有123个元素,按分块查找的要求等分成3块。
若对索引表采用顺序查找来确定块,并在确定的块中进行顺序查找,则在查找概率相等的情况下,分块查找成功时的平均查找长度为( B ).23 C在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为( )A.e B.2e C.n2-e D.n2-2e用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下:20,15,21,25,47,27,68,35,8415,20,21,25,35,27,47,68,8415,20,21,25,27,35,47,68,84则所采用的排序方法是()A.选择排序 B.希尔排序 C.归并排序D.快速排序数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储(或存储结构)无关,是独立于计算机的。
在一个带头结点的单循环链表中,p指向尾结点的直接前驱,则指向头结点的指针head 可用p表示为head= p->next->next 。
《计算机软件技术基础》试题及答案
《计算机软件技术基础》试题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中。
软件技术基础考试复习题(含答案)
1、计算机系统与软件的关系:软件是计算机系统的一部分,体现了计算机应用能力与水平2、软件的三层含义?个体含义:特指具体的软件;整体含义:个体含义的全体;学科含义:软件理论、方法与技术所组成的学科。
3、软件特性:抽象性、知识性、复杂性、复用性。
4、软件分类?软件理论:算法理论与数据理论;软件系统:应用软件、支撑软件与系统软件;软件开发:软件工程。
第二章5、算法是一类问题过程的一种求解方法,该方法可用一组有序的计算机步骤或过程表示。
6、算法不是程序,算法高于程序。
算法是程序的框架与灵魂,而程序是算法的实现。
7、算法的五大特征:能行性、确定性、有穷性、输入、输出。
8、算法的两大基本要素?算法的操作:四种基本操作(算法、逻辑、比较、传输);算法的控制:三种基本控制(顺序、选择、循环)。
9、四种常用的算法设计方法?枚举法:穷举所有可能的方法;递归法:自己调用自己的方法;分治法:将问题分解成若干的方法;回溯法:试探性的求解方法。
10、算法的评价:算法的正确性;算法的时间效率分析;算法的空间效率分析。
11、算法的时间效率分析,用T(n)=O(f(n))表示,常用六种:常用阶O(l);对数阶O(log2n);线性阶O(n);线性对数阶O(n log2n).;平方阶(立方或K方阶)O(n2),O(n3),O(n k);指数阶O (2n)。
12、六个完整算法表示:算法名、算法输入、算法输出、算法流程、算法正确性、算法分析第三章13、数据是按一定规则组织的符号串,并被识别。
14、数据是由数据结构与数据值组成。
15、数据的三个结构层次?客观世界:事物与事物之间的关联;逻辑世界:数据逻辑结构与逻辑值;物理世界:数据物理结构与物理值。
16、数据元素是命名的数据单位。
17、数据操作:数据操作的总称。
18、数据操作分为?数据值操作:定位、读及增加、删除、修改操作;数据结构操作:创建、删除、查询、修改操作。
19、数据结构:以(狭义)数据结构为核心所构成的数据与数据操纵的结合体,也广义结构。
《计算机软件技术基础》题集与答案.doc
《计算机软件技术基础》试题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. 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(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+n5.下列函数中,按它们在∞→n 时的无穷大阶数,最大的是 D 。
A. lognB. nlognC. 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. 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,…,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中。
计算机软件技术基础 复习题
第一章常用数据结构及算法1.1 线性表逻辑结构及运算例一.简单线性表举例:La=(Sun,Mon,The,Wed,Thu,Fri,Sat),其中的元素是字符串,表的长度为7。
Lb=(84,79,95,72,90,74),其中的元素是整型,表的长度为6。
Lc=(stud1,stud2,……,stud30),其中的元素为下列结构体类型:struct StudentInfo{int No; //学号char *name; //学生姓名int age; //学生年龄...;}例二.图书馆的书目检索系统,如下图所示。
由这三张表构成的文件便是自动检索系统的数学模型的主要部分,其中各个表之间存在着简单的线性关系,即数据结构。
1.2顺序表例一.顺序存储结构线性表的典型操作算法。
类型定义如下:数组形式类型定义指针形式类型定义典型操作算法:(1)初始化(2)销毁例二.比较两个线性表的大小。
分析:两个线性表的比较可以依据下列方法:设A、B是两个线性表,均用向量表示,表长分别为m和n。
a和b分别为A 和B 中去除最大共同前缀后的子表。
如A=(x,y,z,y,z,x,z),B=(x,y,z,z,y,x,x,z),两表的最大共同前缀为(x,y,z) 。
则a=(y,z,x,z),b=(z,y,x,x,z),若a=b= 空表,则A=B;若a=空表且b≠空表,或两者均不空且a首元素小于b首元素,则A<B;否则,A>B。
算法思路:首先找出A、B的最大共同前缀;然后求出a和b,之后在按比较规则进行比较,A>B 函数返回1;A=B返回0;A<B返回-1。
算法如下:int compare(int A[],int B[],int m,int n){int i=0,j,a[],b[],ma=0,nb=0; /* ma,mb分别为a,b的长度*/while (A[i]==B[i]) i++; /*找最大共同前缀*/for (j=i;j<m;j++){a[j-i]=A[j];ms++; } /*求数组a*/for (j=i;j<n;j++){b[j-i]=B[j];ns++; } /*求数组b*/if (ms==ns&&ms==0)return 0;else if (ms==0&&ns>0 || ms>0 && ns>0 &&a[0]<b[0])return –1;elsereturn 1;}例三.设数组R[0..n-1]的n个元素中(n>1)有多个零元素,试将R中所有非零元素依次移动到R 数组的前端R[0..i](0≤i≤n)中的算法。
大学计算机软件技术基础考试技术复习题
应的广度优先遍历序列为abefcdg。
从顺序表中删除一个元素时,表中所有在被删元素之后的元素均需—前移—一个
位置。
在队列中,允许进行插入操作的一端称为队尾,允许进行删除操作的一端
称为队头。
在有序表(12,24,36,48,60,72,84)中二分查找关键字72时所需进行的关 键字比较次数为
head可用p表示为head二p —> next —> next。
栈顶的位置是随着进栈和退栈操作而变化的。
假设一个9阶的上三角矩阵A按列优先顺序压缩存储在一维数组
中,其中B[0]存储矩阵中第1个元素ai,i,则B[31]中存放的元
素疋a4,8。
已知一棵完全二叉树中共有 768结点,则该树中共有 384个叶子结点。
下,分块查找成功时的平均查找长度为(B)
A.21B.23C.41D.62
在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为()
用某种排序方法对关键字序列
(
25,
84,
21 ,
47, 15, 27, 68, 35, 20)进行排序
时,序列的变化情况如下:
20, 15, 21, 25,
47,
27,
0
233ຫໍສະໝຸດ 5对应的稀疏矩阵是( 在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结
点个数为()
一棵含18个结点的二叉树的高度至少为(C)
A.3B.4C.5D.6
设顺序存储的线性表共有123个元素,按分块查找的要求等分成3块。若对索引表
采用顺序查找来确定块,并在确定的块中进行顺序查找,则在查找概率相等的情况
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大学计算机软件技术基础考试技术复习题线性表采用链式存储时,结点的存储地址()A.必须是不连续的B.连续与否均可C.必须是连续的D.和头结点的存储地址相连续由两个栈共享一个向量空间的好处是:()A.减少存取时间,降低下溢发生的机率B.节省存储空间,降低上溢发生的机率C.减少存取时间,降低上溢发生的机率D.节省存储空间,降低下溢发生的机率假设以带行表的三元组表表示稀疏矩阵,则和下列行表0 2 3 3 5对应的稀疏矩阵是()A.08067000000050400000--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥B.08067000504000000300--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥C.08060000020050400000--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥D.08060000700050400300--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,则度为0的结点个数为( )A.4 B.5 C.6 D.7一棵含18个结点的二叉树的高度至少为( C )A.3B.4C.5D.6已知二叉树的先序序列为ABDECF,中序序列为DBEAFC,则后序序列为( D ) A.DEBAFC B.DEFBCA C.DEBCFA D.DEBFCA无向图中一个顶点的度是指图中( B )A.通过该顶点的简单路径数B.与该顶点相邻接的顶点数C.通过该顶点的回路数D.与该顶点连通的顶点数设顺序存储的线性表共有123个元素,按分块查找的要求等分成3块。
若对索引表采用顺序查找来确定块,并在确定的块中进行顺序查找,则在查找概率相等的情况下,分块查找成功时的平均查找长度为( B )A.21B.23C.41D.62在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为( )A.e B.2e C.n2-e D.n2-2e用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下:20,15,21,25,47,27,68,35,8415,20,21,25,35,27,47,68,8415,20,21,25,27,35,47,68,84 则所采用的排序方法是()A.选择排序B.希尔排序C.归并排序D.快速排序数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储(或存储结构)无关,是独立于计算机的。
在一个带头结点的单循环链表中,p指向尾结点的直接前驱,则指向头结点的指针head可用p 表示为head=p->next->next 。
栈顶的位置是随着进栈和退栈操作而变化的。
假设一个9阶的上三角矩阵A按列优先顺序压缩存储在一维数组B中,其中B[0]存储矩阵中第1个元素a1,1,则B[31]中存放的元素是a4,8。
已知一棵完全二叉树中共有768结点,则该树中共有384 个叶子结点。
已知一个图的广度优先生成树如右图所示,则与此相应的广度优先遍历序列为abefcdg 。
从顺序表中删除一个元素时,表中所有在被删元素之后的元素均需___前移___一个位置。
在队列中,允许进行插入操作的一端称为____队尾____,允许进行删除操作的一端称为___队头___。
在有序表(12,24,36,48,60,72,84)中二分查找关键字72时所需进行的关键字比较次数为2。
已知一个无向图的顶点集为{a, b, c, d, e} ,其邻接矩阵如下所示 0100110010000110110110110⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥ (1)画出该图的图形;(2)根据邻接矩阵从顶点a 出发进行深度优先遍历和广度优先遍历,写出相应的遍历序列。
该图的图形为:深度优先遍历序列为:abdce广度优先遍历序列为:abedcLList note(LList T) //T 是不带头结点的单链表的头指针{If (T&&T->next) {a b c d ep=T;T=T->next;q=T;Ro:while(q->next) q=q ->next;Rt:q->next=p;}return T;}请回答下列问题:(1)Ro和Rt行的功能是什么?(2)说明算法的功能。
(1)Ro查询链表的尾结点,Rt将第一个结点链接到链表的尾部,作为新的尾结点(2)使原单链表变为循环单链表,返回循环单链表的头指针假设两个队列共享一个循环向量空间(参见右下图),其类型Queue2定义如下:typedef struct{DateType data[MaxSize];int front[2],rear[2];} Queue2;对于i=0或1,front[i]和rear[i]分别为第i个队列的头指针和尾指针。
请对以下算法填空,实现第i个队列的入队操作。
int EnQueue (Queue2*Q,int i,DateType x){//若第i个队列不满,则元素x入队列,并返回1;否则返回0if(i<0||i>1)return 0;if(Q->rear[i]==Q ->front[ ①] return 0;Q->data[ ②]=x;Q->rear[i]=[ ③];return1;}①(i+1)%2(或1-i)②Q->rear[i]③(Q->rear[i]+1)%Maxsize已知一个图如下所示,其顶点按a、b、c、d、e、f顺序存放在邻接表的顶点表中,请画出该图的邻接表,使得按此邻接表进行深度优先遍历时得到的顶点序列为acbefd,进行广度优先遍历时得到的顶点序列为acbdfe。
已知两个4×5的稀疏矩阵的三元组表分别如下:0 1 4 16 0 1 1 321 2 2 18 1 2 2 -222 3 4 -25 2 2 5 693 4 2 28 3 3 4 254 4 2 51请画出这两个稀疏矩阵之和的三元组表。
解:从空树起,依次插入关键字40,8,90,15,62,95,12,23,56,32,构造一棵二叉排序树。
(1)画出该二叉排序树(2)画出删去该树中元素值为90的结点之后的二叉排序树。
阅读下列函数algo,并回答问题。
(1)假设整型数组A[1..8]中的元素依次为(3,8,9,1,7,4,2,6)。
执行函数调用algo(A,8)时,外层while的循环体执行多少次?函数的返回值是多少?(2)简述函数algo(L,n)的功能。
int algo(int L[],intn){int i=0,j,s=1,t=n;while (i!=(n+1)/2){int x=L[s];i=s;j=t;while(i<j){while(i<j && L[j]>=x)j--;L[i]=L[j];while(i<j && L[i]<=x)i++;L[j]=L[i];}L[i]=x;if(i<(n+1)/2)s=i+1;else t=i-1;}if(i==0)return 0;else return L[i];} (1) (2) (3)33题答案:(1)外循环执行4次,函数返回值为3。
(2)将A[1]至A[8]中不小于A[1]的元素进行递增排序,如调用algo(A,8)时最终排序结果为2 1 3 4 6 7 8 9队和栈的主要区别是( d )A.逻辑结构不同B.存储结构不同C.所包含的运算个数不同D.限定插入和删除的位置不同链栈与顺序栈相比,比较明显的优点是( d )A.插入操作更加方便B.删除操作更加方便C.不会出现下溢的情况D.不会出现上溢的情况二叉树中第5层上的结点个数最多为( d )A.8B.15C.16D.32假设队列q中的元素为(2,4,5,7,8),其中“2”为队头元素。
写出执行函数调用algo(&q)后的队列q;(2)简述算法algo的功能。
void algo(Queue *Q){Stack S;InitStack(&S);while (!QueueEmpty(Q))Push(&S, DeQueue(Q));while (! StackEmpty(&S))EnQueue(Q,Pop(&S));}(1)87542(2) 队列倒置在数据结构中,数据的逻辑结构可以分成()A.内部结构和外部结构B.线性结构和非线性结构C.紧凑结构和非紧揍结构D.动态结构和静态结构在以单链表为存储结构的线性表中,数据元素之间的逻辑关系用()A.数据元素的相邻地址表示B.数据元素在表中的序号表示C.指向后继元素的指针表示D.数据元素的值表示设p指向单链表中的一个结点,s指向待插入的结点,则下述程序段的功能是()s -> next = p -> next; p -> next = s;t = p -> data; p -> data = s -> data; s ->data = t;A.结点*p与结点*s的数据域互换B.在p所指结点的元素之前插入元素C.在p所指结点的元素之后插入元素D.在结点*p之前插入结点*s栈和队列都是()A.限制存取位置的线性结构B.顺序存储的线性结构C.链式存储的线性结构D.限制存取位置的非线性结构当在二叉排序树中插入一个新结点时,若树中不存在与待插入结点的关键字相同的结点,且新结点的关键字小于根结点的关键字,则新结点将成为()A.左子树的叶子结点B.左子树的分支结点C.右子树的叶子结点D.右子树的分支结点希尔排序的增量序列必须是()A.递增的B.随机的C.递减的D.非递减的如果在排序过程中,每次均将一个待排序的记录按关键字大小加入到前面已经有序的子表中的适当位置,则该排序方法称为()A.插入排序B.归并排序C.冒泡排序D.堆排序已知指针p指向单链表中某个结点,则语句p -> next =p -> next -> next的作用是_ _______________。
删除*P的直接后继结点删除双向循环链表中*p的前驱结点(存在)应执行的语句是____________。
q = p->pre;q->pre->next = p;p->pre = q->pre;free( q );栈下溢是指在____栈空________时进行出栈操作。
已知完全二叉树T的第5层只有7个结点,则该树共有___2^3 + 7 / 2 = 11___个叶子结点。
在有向图中,以顶点v为终点的边的数目称为v的_____入度_______。
假设元素只能按a,b,c,d的顺序依次进栈,且得到的出栈序列中的第一个元素为c,则可能得到的出栈序列为________________,不可能得到的出栈序列为________________1)cbad, cbda, cdba2)cabd, cadb, cdab若以邻接矩阵表示有向图,则邻接矩阵上第i行中非零元素的个数即为顶点vi的________________。