c 程序设计a中国大学mooc网课答案-凯发k8一触即发
当前位置:凯发k8一触即发首页 » 管理问答 » 正文
663 人参与 2023-09-22 05:10:01 分类 :管理问答
- 第一章 绪论
第一章绪论单元测试
1、______ 是数据的最小单位。
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、在数据的存储中,一个节点通常存储一个 ______。
a、数据结构
b、数据类型
c、数据元素
d、数据项
14、在决定选取任何类型的存储结构时,一般不多考虑 ______。
a、各节点的值如何
b、节点个数的多少
c、对数据有哪些运算
d、所用编程语言实现这种结构是否方便
15、数据在计算机的存储器中表示时,逻辑上相邻的两个元素对应的物理地址也是相邻的,这种存储结构称之为 ______。
a、路基结构
b、顺序存储结构
c、链式存储结构
d、以上都对
16、数据采用链式存储结构时,要求 ______。
a、每个节点占用一片连续的存储区域
b、所有节点占用一片连续的存储区域
c、节点的最后一个数据域是指针类型
d、每个节点有多少个后继就设多少个指针域
17、数据的运算 ______。
a、是根据存储结构来定义的效率
b、与采用何种存储结构有关
c、有算术运算和关系运算两大类
d、必须用程序设计语言来描述
18、_______ 不是算法的基本特性。
a、可行性
b、指令序列长度有限
c、在规定的时间内完成
d、确定性
19、计算机中算法指的是解决某一问题的有限运算序列,它必须具备输入、输出、_______。
a、可行性、可移植性和可扩充性
b、可行性、有穷性和确定性
c、确定性、有穷性和稳定性
d、易读性、稳定性和确定性
20、一个算法具有 ________ 等设计目标。
a、可行性
b、至少有一个输入
c、确定性
d、健壮性
21、以下关于算法的说法正确的是 ____________。
a、算法最终必须由计算机程序实现
b、算法等同于程序
c、算法的可行性是指指令不能有二义性
d、其他几个都是错误的
22、算法的时间复杂度与 _______ 有关。
a、问题规模
b、计算机硬件性能
c、编译程序质量
d、程序设计语言
23、算法分析的主要任务之一是分析 _______。
a、算法是否具有较好地可读性
b、算法中是否存在语法错误
c、算法的功能是否符合设计要求
d、算法的执行时间和问题规模之间的关系
24、算法的时间复杂度为o(n2),表明该算法的 _______。
a、问题规模是
b、执行时间等于
c、执行时间与成正比
d、问题规模与成正比
25、算法分析的目的是 _______。
a、找出数据结构的合理性
b、研究算法中输入和输出的关系
c、分析算法的效率以求改进
d、分析算法的易读性和文档性
26、以下函数中时间复杂度最小的是 _______。
a、t1(n)=nlog2n 5000n
b、t2(n)=-8000n
c、t3(n)=-6000n
d、t4(n)=20000log2n
27、以下函数中时间复杂度最小的是 _______。
a、t1(n)=1000log2n
b、t2(n)=-1000log2n
c、t3(n)=- 1000log2n
d、t4(n)=2nlog2n-1000log2n
28、以下说法中错误的是 _______。 (1)原地工作算法的含义是指不需要任何额外的辅助空间 (2)在相同的问题规模下n下,时间复杂度为o(nlog2n)的算法在执行时间上总是优于时间复杂度为o()的算法 (3)时间复杂度通常是指最坏情况下,估计算法执行时间的一个上限 (4)一个算法的时间复杂度与实现算法的语言无关
a、(1)
b、(1)、(2)
c、(1)、(4)
d、(3)
29、以下数据结构中哪一个是非线性结构?
a、队列
b、栈
c、线性表
d、二叉树
30、下面程序的时间复杂为 _______。 for(i=1,s=0; i<=n; i ) {t=1;for(j=1;j<=i;j ) t=t*j;s=s t;}
a、o(n)
b、o()
c、o( )
d、o()
31、一个算法的时间复杂度为( log2n 14n)/,其数量级表示为 _______。
a、o(n)
b、o()
c、o()
d、o()
32、取算法的时间复杂度为o(),当n=5时执行时间为50s,当n=15时,执行时间为_______。
a、3375
b、1350
c、2025
d、675
33、下面程序的时间复杂度为 _______。 void fun( int n) { int i=1; while (i<=n) i=i*2}
a、o(n)
b、o()
c、o(log2n)
d、o(nlog2n)
34、下面程序的时间复杂度为 _______。 void fun( int n) { int i=1; while (i<=n) i=i*3}
a、o(n)
b、o()
c、o(nlog3n)
d、o(log3n)
35、下面程序的时间复杂度为 _______。 void fun( int n) { int i=1, k=100; while (i<=n) {k ; i =2;} }
a、o(n)
b、o()
c、o(log2n)
d、o(nlog2n)
36、数据元素是数据的最小单位。
37、数据对象就是一组任意数据元素的集合。
38、任何数据结构都具备3个基本运算:插入、删除、和查找。
39、数据的逻辑结构与数据元素在计算机中如何存储有关。
40、如果数据元素值发生改变,则数据的逻辑结构也随之改变。
41、逻辑结构相同的数据,可以采用多种不同的存储方法。
42、逻辑结构不相同的数据,必须采用多种不同的存储方法。
43、逻辑结构相同的数据,在设计存储结构时,它们的节点类型也一定相同。
44、数据的逻辑结构时指数据的各数据项之间的逻辑关系。
45、算法的优劣与算法描述语言无关,但与所用的计算机有关。
46、算法可以用不同的语言描述,如果用c或pascal语言等高级语言来描述,则算法实际上就是程序了。
47、程序一定是算法。
48、算法最终必须由计算机程序实现.
49、算法的可行性是指指令不能有二义性。
50、健壮的算法不会因非法输入数据而出现莫名其妙的状态。
第二章 线性表
第二章线性表单元测试
1、线性表是具有n个 ______ 的有限序列。
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、设线性表有n个元素,以下操作中,_______在顺序表上实现比在链表上实现效率高。
a、输入第i(1<=i<=n)个元素值
b、交换第1个元素第2个元素的值
c、顺序输出这n个元素的值
d、输出与给定值x相等的元素在线性表中的符号
9、对于一个线性表,既要求能够较快地进行插入和删除操作,又要求存储结构能够反映数据元素之间的逻辑关系,则应采用 _______ 存储结构。
a、顺序
b、链式
c、散列
d、索引
10、设线性表中有n个元素,以下操作,_______ 在单链表上实现要比在顺序表上实现效率高。
a、删除指定位置元素的后一个元素
b、在第n个元素的后面插入一个新元素
c、顺序输出前k个元素
d、交换第i个元素和第n-i 1个元素的值
11、以下属于顺序表的优点是 _______。
a、插入元素方便
b、删除元素方便
c、存储密度大
d、以上都不对
12、要求线性表采用静态空间分配方式,且插入和删除操作时不需要移动元素,采用的存储结构是 _______。
a、单链表
b、静态链表
c、双链表
d、顺序表
13、如果最常用的操作时取第i个元素及前驱元素,则采用 _______ 存储方式最节省时间。
a、单链表
b、双链表
c、循环单链表
d、顺序表
14、与单链表相比,双链表的优点之一是 _______。
a、插入、删除操作更简单
b、可以进行随机访问
c、可以省略表头指针或表尾指针
d、访问前后相邻节点更方便
15、在长度为n的顺序表中插入一个元素的时间复杂度为 _______。
a、o(n)
b、o()
c、o(log2n)
d、o(1)
16、在长度为n的顺序表中删除一个元素的时间复杂度为 _______。
a、o(1)
b、o()
c、o(log2n)
d、o(n)
17、在两个各有n个元素的递增有序顺序表归并成一个有序顺序表,其最少的比较次数为_______。
a、n
b、2n-1
c、2n
d、n-1
18、将两个长度为n、m的递增有序表归并成一个有序顺序表,其最少的比较次数是_______。(min表示取最小值)
a、n
b、m
c、min(m, n)
d、不确定
19、在带头节点的单链表l为空的判定条件是 _______。
a、l==null
b、l->next==null
c、l->next==l
d、l!=null
20、对于一个具有n个元素的线性表,建立其单链表的时间复杂度为 _______。
a、o(log2n)
b、o(1)
c、o(n)
d、o()
21、在单链表中查找指定值的节点的时间复杂度是 _______。
a、o(log2n)
b、o(1)
c、o()
d、o(n)
22、以下关于单链表的叙述中,不正确的是 _______。
a、节点除自身信息外还包括指针域,因此存储密度小于顺序存储结构
b、逻辑上相邻的元素物理上不必相邻
c、可以通过头节点直接计算第i个节点的存储地址
d、插入、删除运算操作简单,不必移动节点
23、在单链表中,增加一个头节点的目的是为了 _______。
a、使单链表至少有一个节点
b、标识链表中重要节点的位置
c、方便运算的实现
d、说明单链表是线性表的链式存储结构
24、在一个具有n个节点的有序单链表中插入一个新节点并仍然保持有序的时间复杂度是 _______。
a、o(nlog2n)
b、o(1)
c、o(n)
d、o()
25、将长度为m的单链表链接在长度为n的单链表之后的算法时间复杂度为 _______。
a、o(1)
b、o(n)
c、o(m)
d、o(m n)
26、已知一个长度为n的单链表中所有节点是递增有序的,以下叙述中正确的是 _______。
a、插入一个节点使之有序的算法的时间复杂度为o(1)
b、删除最大值节点使之有序的算法的时间复杂度为 o(1)
c、找最小值节点的算法的时间复杂度为 o(1)
d、以上都不对
27、在一个长度为n(n>1)的带头节点的单链表上,另设有尾指针r(指向尾节点),执行_______操作与链表的长度有关。
a、删除单链表中的第一个元素
b、删除单链表的尾节点
c、在单链表中第一个元素前插入一个新节点
d、在单链表最后一个元素后插入一个新节点
28、在一个双链表中,在*p节点之后插入节点*q的操作是 _______。
a、q->prior = p;p-> next=q;p -> next -> prior =q; q ->next = p -> next;
b、q ->next = p -> next;p -> next -> prior =q;p-> next=q;q->prior = p;
c、p-> next=q;q->prior = p;q ->next = p -> next;p -> next -> prior =q;
d、p -> next -> prior =q;q->prior = p;p-> next=q;q ->next = p -> next;
29、在一个双链表中,在*p节点之前插入节点*q的操作是 _______。
a、p -> prior = q;q-> next=p;p -> prior ->next=q; q ->prior= p -> prior;
b、q ->prior= p -> prior;p -> prior ->next=q;q-> next=p;p -> prior = q->next;
c、q-> next=p;p -> next=q;q-> prior ->next= q;q-> next=p;
d、p -> prior ->next=q;q-> next=p;q -> prior = p->prior;p -> prior = q;
30、在一个双链表中, 删除*p节点的操作是 _______。
a、p -> prior –>next= p-> next;p ->next-> prior = p -> prior;
b、p ->prior= p -> prior -> prior;p -> prior ->prior = p;
c、p-> next -> prior = p;p-> next=p-> next-> next;
d、p -> next= p->prior -> prior;p-> prior = p->prior->prior;
31、在一个双链表中, 删除*p节点之后的一个节点,其时间复杂度为_______。
a、o(nlog2n)
b、o(1)
c、o(n)
d、o()
32、非空的循环单链表l的尾节点(由p所指向)满足 _______。
a、p-> next == null
b、p == null
c、p -> next == l
d、p==l
33、带表头结点的双循环链表l为空表的条件是 _______。
a、l== null
b、l-> next -> prior == null
c、l -> prior == null
d、l -> next == l
34、某线性表最常用的操作是在尾元素之后插入一个元素和删除尾元素,则采用 _______ 存储方式最节省运算时间。
a、单链表
b、循环单链表
c、双链表
d、循环双链表
35、如果对含有n(n>1)个元素的线性表的运算只有4种,即删除第一个元素、删除尾元素、在第一个元素前面插入新元素、在尾元素的后面插入新元素,则最好使用_______。
a、只有尾节点指针没有头节点的循环单链表
b、只有尾节点指针没有头节点的非循环双链表
c、只有开始数据节点指针没有尾节点指针的循环双链表
d、既有表头指针也有表尾指针的循环单链表
36、在某线性表最常用的操作是在尾元素之后插入一个元素和删除第一个元素。故采用_______ 存储方式最节省时间。
a、单链表
b、仅有头节点指针的循环单链表
c、双链表
d、仅有尾指针的循环单链表
37、两个表长都为n、不带表头结点的单链表,结点类型都相同,头指针分别为h1与h2,且前者是循环链表,后者是非循环链表,则 _______。
a、对于两个链表来说,删除首节点的操作,其时间复杂度都是o(1)
b、对于两个链表来说,删除尾节点的操作,其时间复杂度都是o(n)
c、循环链表要比非循环链表占用更多的内存空间
d、h1和h2是不同类型的变量
38、在长度为n的 _______ 上,删除第一个元素,其算法的时间复杂度为o(n)。
a、只有表头指针的不带表头节点的循环单链表
b、只有表尾指针的不带表头节点的循环单链表
c、只有表尾指针的带表头节点的循环单链表
d、只有表头指针的带表头节点的循环单链表
39、下面关于线性表的叙述错误的是 _______。
a、线性表采用顺序存储必须占用一片连续的存储空间
b、线性表采用链式存储不必占用一片连续的存储空间
c、线性表采用链式存储便于插入和删除操作的实现
d、线性表采用顺序存储便于插入和删除操作的实现
40、对于双链表,在两个节点之间插入一个新节点是,需要修改 _______ 个指针域。
a、1
b、2
c、3
d、4
41、在单链表中,要删除某一指定的节点,必须找到该节点的 _______ 节点。
a、后继
b、头节点
c、前驱
d、尾节点
42、求一个单链表长度的算法的时间复杂度为 _______。
a、o(log2n)
b、o(n)
c、o(1)
d、o()
43、线性表中每个元素都有一个前驱元素和一个后继元素。
44、线性表中所有元素的排列顺序必须从小到大或从大到小。
45、静态链表既有顺序存储结构的优点,又有动态链表的优点,所以,利用它存取第i个元素的时间与元素个数n无关。
46、静态链表与动态链表在元素的插入、删除方面类似,不需要做元素的移动。
47、线性表的顺序存储结构优于链式存储结构。
48、在循环单链表中,从表中任一节点出发都可以通过前后移动操作遍历整个循环链表。
49、在单链表中,可以从头节点开始查找任何一个节点。
50、在双链表中,可以从任一节点开始沿着同一方向查找到任何其他节点。