国家二级C语言(数据结构与算法)机试模拟试卷1(题后含答案及解析)

合集下载

国家二级(C语言)机试模拟试卷123(题后含答案及解析)

国家二级(C语言)机试模拟试卷123(题后含答案及解析)

国家二级(C语言)机试模拟试卷123(题后含答案及解析)题型有:1. 选择题 2. 程序填空题 3. 程序修改题 4. 程序设计题选择题1.在关系代数运算中,有5种基本运算,它们是( )。

A.并(∪)、差(-)、交(∩)、除(÷)和笛卡儿积(×)B.并(∪)、差(-)、交(∩)、投影(π)和选择(σ)C.并(∪)、交(∩)、投影(π)、选择(σ)和笛卡儿积(×)D.并(∪)、差(-)、投影(π)、选择(σ)和笛卡儿积(×)正确答案:D解析:并、差、笛卡儿积、投影和选择是5种基本的运算,其他运算即交、连接和除,均可以通过5种基本的运算来表达。

2.在数据库系统的组织结构中,下列( )映射把用户数据库与概念数据库联系了起来。

A.外模式/模式B.内模式/外模式C.模式/内模式D.内模式/模式正确答案:A解析:数据库有两层映像,即外模式/模式和模式/内模式映像。

模式/内模式映像定义数据库全局逻辑结构与存储结构之间的对应关系。

3.下列关于线性链表的描述中,正确的是( )。

Ⅰ、只含有一个指针域来存放下一个元素地址Ⅱ、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件)Ⅲ、结点由两部分组成:数据域和指针域。

A.仅Ⅰ、ⅡB.仅Ⅰ、ⅢC.仅Ⅱ、ⅢD.全部正确答案:D解析:在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。

在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。

其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。

4.下面关于数据库三级模式结构的叙述中,正确的是( )。

A.内模式可以有多个,外模式和模式只有一个B.外模式可以有多个,内模式和模式只有一个C.内模式只有一个,模式和外模式可以有多个D.模式只有一个,外模式和内模式可以有多个正确答案:B解析:数据库的三级模式结构是指数据库系统的外模式、模式和内模式。

国家二级(C语言)笔试模拟试卷123(题后含答案及解析)

国家二级(C语言)笔试模拟试卷123(题后含答案及解析)

国家二级(C语言)笔试模拟试卷123(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.在数据结构中,从逻辑可以把数据结构分为______。

A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构正确答案:C解析:逻辑结构反映数据元素之间的逻辑关系,线性结构表示数据元素之间—对—的关系,非线性结构表示数据元素之间—对多或多对—的关系。

2.若进栈序列为1,2,3,4,进栈过程中可以出栈,则下列不可能的—个出栈序列是______。

A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,1正确答案:C解析:栈是—种后进先出表,选项C中,先出栈的是3,说明此时栈内必然有1,2,由于1先于2进栈,所以1不可能在2之前出栈,故选项C这种出栈序列是不可能的。

3.排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称为______。

A.希尔排序B.冒泡排序C.插入排序D.选择排序正确答案:A解析:希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。

4.在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值11,所需的关键码比较次数为______。

A.2B.3C.4D.5正确答案:C解析:二分法查找是用关键码与线性表的中间元素比较,然后根据比较结果来判断是结束查找,还是在左边或右边子表按相同的方法继续查找。

本题中,与11比较的关键码分别为15,8,10,12四个。

5.对于n个结点的单向链表(无表头结点),需要指针单元的个数至少为______。

A.n-1B.nC.n+1D.2n正确答案:C解析:在n个结点的单向链表(无表头结点)中,每个结点都有—个指针单元(即指针域),加上头指针,至少需要n+1个指针单元。

计算机二级c语言试题及答案解析

计算机二级c语言试题及答案解析

计算机二级c语言试题及答案解析一、选择题1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A解析:关键字`struct`用于定义一个结构体,它允许将多个不同类型的数据项组合成一个单一的数据结构。

2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. ||答案:C解析:`%`是取模运算符,`&&`是逻辑与运算符,`||`是逻辑或运算符,而`::`不是C语言中的运算符。

二、填空题1. 在C语言中,`________`关键字用于声明一个函数。

答案:int解析:在C语言中,`int`是用于声明一个函数的返回类型,表示该函数返回一个整数值。

2. 以下代码片段中,`________`用于定义一个名为`data`的数组,包含10个整数。

```cint data[10];```答案:int data[10];解析:`int data[10];`定义了一个名为`data`的数组,它包含10个整数。

三、编程题1. 编写一个C语言函数,计算并返回两个整数的和。

```cint add(int a, int b) {return a + b;}```答案:```cint add(int a, int b) {return a + b;}```解析:该函数接受两个整数参数`a`和`b`,计算它们的和,并返回结果。

2. 编写一个C语言程序,实现将一个字符串反转。

```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverse(str);printf("Reversed string: %s\n", str); return 0;}```答案:```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverse(str);printf("Reversed string: %s\n", str);return 0;}```解析:该程序定义了一个`reverse`函数,它接受一个字符串作为参数,并通过交换字符的方式将字符串反转。

国家二级C语言(数据结构与运算)机试模拟试卷1(题后含答案及解析)

国家二级C语言(数据结构与运算)机试模拟试卷1(题后含答案及解析)

国家二级C语言(数据结构与运算)机试模拟试卷1(题后含答案及解析)题型有:1. 选择题选择题1.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A.快速排序B.冒泡排序C.直接插入排序D.堆排序正确答案:D解析:各种排序方法中最坏情况下需要比较的次数分别为:冒泡排序n(n-1)/2、快速排序n(n-1)/2、简单插入排序n(n-1)/2、希尔排序O(n1.5)、简单选择排序n(n-1)/2、堆排序O(nlog2n)。

知识模块:数据结构与运算2.下列关于栈的叙述正确的是A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据正确答案:B解析:栈是限定在一端进行插入和删除的线性表,允许进行插入和删除元素的一端称为栈顶,另一端称为栈底。

栈是按照“先进后出”的原则组织数据的。

知识模块:数据结构与运算3.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是A.10B.8C.6D.4正确答案:C解析:根据二叉树的性质,在任意二叉树中,度为0的结点总是比度为2的结点多一个。

知识模块:数据结构与运算4.下列叙述中正确的是A.算法复杂度是指算法控制结构的复杂程度B.算法复杂度是指设计算法的难度C.算法的时间复杂度是指设计算法的工作量D.算法的复杂度包括时间复杂度与空间复杂度正确答案:D解析:算法复杂度,即算法在编写成可执行程序后,运行时所需要的资源,资源包括时间资源和内存资源。

一个算法的评价主要从时间复杂度和空间复杂度来考虑。

算法的时间复杂度是指执行算法所需要的计算工作量。

空间复杂度是指算法在计算机内执行时所需存储空间的度量。

知识模块:数据结构与运算5.下列叙述中正确的是A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定正确答案:D解析:循环队列中元素的个数是由队头指针和队尾指针共同决定的,元素的动态变化也是通过队头指针和队尾指针来反映的。

国家二级(C语言)笔试模拟试卷101(题后含答案及解析)

国家二级(C语言)笔试模拟试卷101(题后含答案及解析)

国家二级(C语言)笔试模拟试卷101(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.在下列选项中,______ 不是一个算法一般应该具有的基本特征。

A.确定性B.可行性C.无穷性D.拥有足够的情报正确答案:C解析:一个算法,一般应具有以下几个基本特征:①可行性②确定性③有穷性④拥有足够的情报。

2.希尔排序法属于______ 类型的排序法。

A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法正确答案:B解析:希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排入。

所以希尔排序法属于插入类排序,但它对简单插入排序做了很大的改进。

3.下列关于队列的叙述中正确的是______。

A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表正确答案:C解析:队列是指允许在一端进行插入、而在另一端进行删除的线性表。

它又称为“先进先出”或“后进后出”的线性表,体现了“先来先服务”的原则。

4.对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。

A.N+1B.NC.(N+1)/2D.N/2正确答案:B解析:在进行顺序查找过程中,如果被查的元素是线性表中的最后一个,或者被查元素根本不在线性表中,则为了查找这个元素需要与线性表中所有元素进行比较,这是顺序查找最坏的情况。

5.信息隐蔽的概念与下述______ 概念直接相关。

A.软件结构定义B.模块独立性C.模块类型划分D.模拟耦合度正确答案:B解析:信息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不合晰问的。

模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。

国家二级(C语言)机试历年真题试卷汇编1(题后含答案及解析)

国家二级(C语言)机试历年真题试卷汇编1(题后含答案及解析)

国家二级(C语言)机试历年真题试卷汇编1(题后含答案及解析) 题型有:1. 选择题选择题1.下列叙述中正确的是( )。

【10年9月】A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.上述3种说法都不对正确答案:B解析:线性表的存储分为顺序存储和链式存储。

在顺序存储中,所有元素所占的存储空间是连续的,各数据元素在存储空间中是按逻辑顺序依次存放的。

所以每个元素只存储其值就可以了,而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号,称为指针域。

所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。

知识模块:公共基础知识2.下列叙述中正确的是( )。

【10年9月】A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.上述3种说法都不对正确答案:C解析:在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。

栈跟队列不同,元素只能在栈顶压入或弹出,栈底指针不变,栈中元素随栈顶指针的变化而动态变化,遵循后进先出的规则。

知识模块:公共基础知识3.软件测试的目的是( )。

【10年9月】A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误正确答案:D解析:软件测试的目的是为了发现程序中的错误,而软件调试是为了更正程序中的错误。

知识模块:公共基础知识4.下面描述中,不属于软件危机表现的是( )。

【10年9月】A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高正确答案:A解析:软件危机主要表现在以下6个方面:①软件需求的增长得不到满足;②软件开发成本和进度无法控制;③软件质量难以保证;④软件不可维护或维护程序非常低;⑤软件的成本不断提高;⑥软件开发生产率的提高赶不上硬件的发展和应用需求的增长。

计算机二级《C语言》模拟试题及答案3篇

计算机二级《C语言》模拟试题及答案3篇

计算机二级《C语言》模拟试题及答案第一篇:C语言基础知识1. C语言的发明人是谁?简要介绍一下他的背景。

2. int型变量的取值范围是多少?unsigned int呢?3. 请问下面这段代码输出的结果是什么?char str1[] = "hello";char str2[] = "world";strcat(str1, str2);printf("%s", str1);4. 以下哪些数据类型可以用来存储浮点数?A. floatB. doubleC. long doubleD. char5. 下列代码的输出结果是什么?int a = 1;long b = 2;float c = 3.0;printf("%ld\n", a + b + c);答案:1. C语言的发明人是丹尼斯·里奇(Dennis Ritchie)。

他于1941年出生在美国,是贝尔实验室研究员和计算机科学家。

在20世纪70年代,他和肯·汤普逊(Ken Thompson)合作,发明了UNIX操作系统和C语言。

C语言是一种高级计算机程序语言,在操作系统、编译器、数据库、游戏等领域被广泛使用。

丹尼斯·里奇因发明了C语言,被誉为“计算机编程之父”。

2. int型变量的取值范围是-2147483648到2147483647,unsigned int的取值范围是0到4294967295。

3. 输出结果为“helloworld”。

strcat是C语言的字符串拼接函数,将两个字符串连接成一个字符串。

在拼接之前,需要保证第一个字符串的数组足够大,以容纳两个字符串的内容。

如果第一个字符串不够大,程序会出现内存溢出等问题。

4. A、B、C三个数据类型可以用来存储浮点数。

5. 输出结果为“6”。

在printf函数中,%ld表示输出长整型数据,而c是一个float型变量。

国家二级(C语言)笔试模拟试卷1(题后含答案及解析)

国家二级(C语言)笔试模拟试卷1(题后含答案及解析)

国家二级(C语言)笔试模拟试卷1(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.算法的空间复杂度是指( )。

A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行算法所需要的存储空间正确答案:D解析:算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。

所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。

2.用链表表示线性表的优点是( )。

A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作D.数据元素的物理顺序与逻辑顺序相同正确答案:C解析:链式存储结构的结点空间可以动态申请和释放,其数据元素的逻辑次序靠结点的指针来指示,在进行插入和删除操作时不需要移动数据元素,故链式存储结构下的线性表便于插入和删除操作。

3.数据结构中,与所使用的计算机无关的是数据的( )。

A.存储结构B.物理结构C.逻辑结构D.物理和存储结构正确答案:C解析:数据结构一般包括三个方面的内容:数据的逻辑结构、存储结构及数据上的运算集合。

数据的逻辑结构只抽象的反映数据元素之间的逻辑关系,而不管它在计算机中的存储表示形式。

4.结构化程序设计主要强调的是( )。

A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序的易读性正确答案:D解析:结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化及限制使用goto语句,总的来说可使程序结构良好、易读、易理解、易维护。

5.软件设计包括软件的结构、数据、接口和过程设计,其中软件的过程设计是指( )。

A.模块间的关系B.系统结构部件转换成软件的过程描述C.软件层次结构D.软件开发过程正确答案:B解析:软件设计包括软件结构设计、数据设计、接口设计和过程设计,其中结构设计是定义软件系统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

国家二级C语言(数据结构与算法)机试模拟试卷1(题后含答案及解析)题型有:1. 选择题选择题1.算法具有五个特性,以下选项中不属于算法特性的是A.有穷性B.简洁性C.可行性D.确定性正确答案:B解析:算法的五个特性分别是:有穷性、可行性、确定性、输入和输出。

知识模块:数据结构与算法2.算法的有穷性是指A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用正确答案:A解析:算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。

知识模块:数据结构与算法3.算法的时间复杂度是指A.算法的执行时间B.算法所处理的数据最C.算法程序中的语句或指令条数D.算法在执行过程中所需要的基本运算次数正确答案:D解析:算法的时间复杂度,是指执行算法所需要的计算工作量。

算法的工作量可以用算法在执行过程中所需基本运算的执行次数来度量。

知识模块:数据结构与算法4.对存储器按字节进行编址,若某存储器芯片共有10根地址线,则该仔储器芯片的存储容量为A.1kbB.2kbC.4kbD.8kb正确答案:A解析:10根地址线,每根地址线有0和1两种情况,地址范围就是2的10次方=1024=1K。

知识模块:数据结构与算法5.磁盘处于写保护状态时其中的数据A.不能读出,不能删改B.可以读出,不能删改C.不能读出,可以删改D.可以读出,可以删改正确答案:B解析:磁盘处于写保护状态时其中的数据可以读出来,但是不能修改和删除。

知识模块:数据结构与算法6.在Windows环境下,单击当前窗口中的按钮“”,其功能是A.讲当前应用程序转为后台运行B.退Windows后再关机C.终止当前应用程序的运行D.退出Windows后重新启动计算机正确答案:C解析:在Windows中,单击窗口中的按钮“”表示关闭当前运行的程序。

知识模块:数据结构与算法7.下列描述中正确的是A.数据的逻辑结构与存储结构必定是一一对应的B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数据一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对正确答案:D解析:数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。

数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。

一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等。

知识模块:数据结构与算法8.下列描述中正确的足A.线性链表是线性表的链式存储结构B.栈与队列是非线性结构C.双向链表是非线性结构D.只有根结点的二叉树是线性结构正确答案:A解析:线性表的链式存储结构称为线性链表。

线性表链式存储结构的基本单位称为存储结点,每个存储结点包括数据域和指针域两个组成部分。

各数据元素之间的前后件关系是由各结点的指针域来指示的,指向线性表中第一结点的指针HEAD称为头指针,当HEAD-NULL时称为空表。

栈、队列和双向链表是线性结构,树是一种简单的非线性结构。

在树这种数据结构中。

所有数据元素的关系具有明显的层次特征。

二叉树是非线性结构。

线性结构和非线性结构是从数据的逻辑结构角度来讲的,与该数据结构中有多少个元素没有关系,即使是空的二叉树也是非线性结构。

知识模块:数据结构与算法9.支持予程序调用的数据结构是A.栈B.树C.队列D.二叉树正确答案:A解析:栈是一种限定在一端进行插入与删除的线性表。

在主函数调用子函数时,要首先保存主函数当前的状态,然后转去执行子函数,把子函数的运行结果返回到主函数调用子函数时的位置,主函数再接着往下执行,这种过程符合栈的特点。

所以一般采用栈式存储方式。

知识模块:数据结构与算法10.下列关于栈的叙述中,正确的是A.栈底元素一定足最后入栈的元素B.栈顶元素一定是最先入栈的元素C.栈操作遵循先进后出的原则D.以上三种说法都不对正确答案:C解析:栈是限定只能在表的一端进行插入和删除操作的线性表,必须按“后进先出”的规则操作元素。

知识模块:数据结构与算法11.一个栈的初始状态为空。

现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是A.1,2,3,A,B,CB.C,B,A,1,2,3C.C,B,A,3,2,1D.1,2,3,C,B,A正确答案:C解析:栈是按照“先进后出”或“后进先出”的原则组织数据的。

所以出栈顺序是CBA321。

知识模块:数据结构与算法12.下列对队列的描述中正确的是A.队列属于非线性表B.队列按“先进后出”原则组织数据C.队列在队尾删除数据D.队列按“先进先出”原则组织数据正确答案:D解析:队列(queue)是指允许在一端进行插入、而在另一端进行删除的线性表。

允许插入的一端称为队尾;允许删除的一端称为队头。

在队列这种数据结构中,最先插入的元素将最先能够被删除;反之,最后插入的元素将最后才能被删除。

因此,队列又称“先进先出”或“后进后出”的线性表。

知识模块:数据结构与算法13.下列关于栈的描述中正确的是A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素正确答案:C解析:栈是限定在一端进行插入与删除的线性表,在栈中。

允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。

知识模块:数据结构与算法14.下列叙述中正确的是A.循环队列是队列的一种链式存储结构B.循环队列是队列的一种顺序存储结构C.循环队列是非线性结构D.循环队列是一种逻辑结构正确答案:B解析:本题主要考查循环队列的概念.循环队列作为队列的一种也应该是线性结构。

队列是一种逻辑结构,而循环队列是一种顺序存储结构的队列。

知识模块:数据结构与算法15.下列叙述中正确的是A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.栈与队列都是线性结构正确答案:D解析:栈是先进后出.队列是先进先出。

栈和队列都是一种线性表,属于线性结构。

知识模块:数据结构与算法16.下列叙述中正确的是A.循环队列中的元素个数随队头指针与队尾指针的变化而动态变化B.循环队列中的元素个数随队头指针的变化而动态变化C.循环队列中的元素个数随队尾指针的变化而动态变化D.循环队列中的元素个数不会变化正确答案:A解析:所谓循环结构就是将队列存储空间的最后一个位置绕到第一个位置上,形成逻辑上的环状空间,循环使用。

在循环队列中,用队尾指针rcar指向队列中的队尾元素,用队头指针front指向队头元素的前一个位置,因此,队列中的元素之间的元素数量。

知识模块:数据结构与算法17.下列叙述中正确的是A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.上述三种说法都不对正确答案:B解析:线性表的存储分为顺序存储和链式存储。

在顺序存储中,所有元素所占的存储空间是连续的,各数据元素在存储空间中是按逻辑顺序依次存放的。

所以每个元素只存储其值就可以了,而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号,称为指针域。

所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。

知识模块:数据结构与算法18.下列链表中,其逻辑结构属于非线性结构的是A.二叉链表B.循环链表C.双向链表D.带链的栈正确答案:A解析:二叉链表作为树的存储结构。

链表中结点的两个链域分别指向该结点的第一个孩子结点和下一个兄弟结点。

知识模块:数据结构与算法19.某系统总体结构图如下图所示。

该系统总体结构图的深度是A.7B.6C.3D.2正确答案:C解析:这个系统总体结构图是一棵树结构,在树结构中,根结点在第1层,同一层上所有子结点都在下一层,由系统总体结构图可知,这棵树共3层。

在树结构中,树的最大层次称为树的深度。

所以这棵树的深度为3。

知识模块:数据结构与算法20.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数足A.10B.8C.6D.4正确答案:C解析:根据二叉树的性质,在任意二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。

知识模块:数据结构与算法21.一颗二叉树中共有70个叶子结点与80个度为1的结点,则该二义树中的总结点数为A.219B.221C.229D.231正确答案:A解析:在二叉树中,叶子结点个数为n 0 ,则度为2的结点数n 2 =n 0 -1。

本题中叶子结点的个数为70,所以度为2的结点个数为69,因而总结点数=叶子结点数+度为1的结点数+度为2的结点数=70+80+69=219。

知识模块:数据结构与算法22.设树T的深度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1。

则T中的叶了结点数为A.8B.7C.6D.5正确答案:B解析:深度为m二叉树其总结点数为2 m -1=2 4 -1=15。

总结点数减去度为1,2,3,4的结点个数就是叶子结点数。

15-4-2-1-1=7。

知识模块:数据结构与算法23.对下列二叉树进行前序遍历的结果是A.DYBEAFCZXB.YDEBFZXCAC.ABDYECFXZD.ABCDEFXYZ正确答案:C解析:二叉树前序遍历的简单描述:若二叉树为空,则结束返回;否则:①访问根结点;②前序遍历左子树;③前序遍历右子树。

可见,前序遍历二叉树的过程是一个递归的过程。

根据题目中给出的二叉树的结构可知前序遍历的结果是ABDYECFXZ。

知识模块:数据结构与算法24.在长度为64的仃序线性表中进行顺序查找,最坏情况下需要比较的次数为A.63B.64C.6D.7正确答案:B解析:顺序查找又称顺序搜索。

顺序查找一般是指在线性表中查找指定的元素,其基本方法是:从线性表的第一元素开始,依次将线性表中的元素与被查找的元素进行比较,若相等则表示找到(即查找成功),若线性表中所有元素都与被查元素进行了比较但都不相等,则表示线性表中没有要找的元素(即查找失败)。

如果线性表中的第一个元素就是要查找的元素,则只需要做一次比较就查找成功;但如果要查找的元素是线性表中的最后一个元素,或者要查找元素不在线性表中,则需要与线性表中所有元素进行比较,这是顺序查找的最坏情况,比较次数为线性表的长度。

知识模块:数据结构与算法25.下列数据结构中,能用二分法进行查找的是A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表正确答案:A解析:二分法查找只适应于顺序存储的有序表。

相关文档
最新文档