第一章 绪论
一、选择题
1.以下数据结构中哪一个是非线性结构?( )
A. 队列 B. 栈 C. 线性表 D. 二叉树
2.设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},则数据结构A是( )。
A. 线性结构 B. 树型结构 C. 物理结构 D. 图型结构
3.下面程序的时间复杂为( )
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(n2) C. O(n3) D. O(n4)
4.数据的最小单位是( )。
A.数据项 B. 数据类型 C.数据元素 D. 数据变量
5.程序段s=i=0;do {i=i+1; s=s+i;}while(i<=n);的时间复杂度为( )。
A. O(n) B. O(nlog2n) C. O(n2) D. O(n3/2)
6.下列程序段的时间复杂度为( )。
for(i=0; i<m; i++) for(j=0; j<t; j++) c[i][j]=0;
for(i=0; i<m; i++) for(j=0; j<t; j++) for(k=0; k<n; k++) c[i][j]=c[i][j]+a[i][k]*b[k][j];
A. O(m*n*t) B. O(m+n+t) C. O(m+n*t) D. O(m*t+n)
7.下列程序段的时间复杂度为( )。
i=0,s=0; while (s<n) {s=s+i;i++;}
A. O(n1/2) B. O(n1/3) C. O(n) D. O(n2)
8.某程序的时间复杂度为(3n+nlog2n+n2+8), 其数量级表示为( )。
A.O(n) B.O(nlog2n) C.O(n2) D.O(log2n)
9.线性表是一个具有n个()的有限序列。
A.表元素 B.字符 C.数据元素 D.数据项
10.从逻辑上可以把数据结构分为( )
A.动态结构、静态结构 B.顺序结构、链式结构
C.线性结构、非线性结构 D.初等结构、构造型结构
11.关于算法的描述,不正确的是( )
A.算法最终必须由计算机程序实现
B.所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界
C.健壮的算法不会因非法的输入数据而出现莫名其妙的状态
D.算法的优劣与算法描述语言无关
12.在数据结构中,数据的基本单位是( )
A. 数据项 B. 数据元素 C. 数据对象 D. 数据文件
13.k=1;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
A[i][j]=k++;
上述程序段的时间复杂度为( )
A.O(n2) B.O(n) C.O(2n) D.O(1)
14.for(i=0;i<m;i++)
for(j=0;j<n;j++)
A[i][j]=i*j;
上面算法的时间复杂度为( )
A.O(m2) B.O(n2) C.O(m×n) D.O(m+n)
15.从逻辑关系来看,数据元素的直接前驱为0个或1个的数据结构只能是( )
A.线性结构 B.树形结构
C.线性结构和树型结构 D.线性结构和图状结构
16.下列程序的时间复杂度为( )
i=0;s=0;
while(s<n)
{ i++;
s=s+i;
}
A.O() B.O() C.O(n) D.O(n2)
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[i]与( )的表示等价。
A. *(a+i) B. a+i C. *a+i D. &a+i
23.对于两个函数,若函数名相同,但只是( )不同则不是重载函数。
A.参数类型 B. 参数个数 C.函数类型
24.若需要利用形参直接访问实参,则应把形参变量说明为( )参数
A. 指针 B.引用 C.值
25.下面程序段的时间复杂度为( )。
for(int i=0; i<m; i++)
for(int j=0; j<n; j++)
a[i][j]=i*j;
A. O(m2) B. O(n2) C. O(m*n) D. O(m+n)
26.执行下面程序段时,执行S语句的次数为( )。
for(int i=1; i<=n; i++)
for(int j=1; j<=i; j++)
S;
A. n2 B. n2/2 C. n(n+1) D. n(n+1)/2
27.下面算法的时间复杂度为( )。
int f( unsigned int n ) {
if ( n==0 || n==1 ) return 1; else return n*f(n-1);
}
A. O(1) B. O(n) C. O(n2) D. O(n!)
28.组成数据的基本单位是( )
A.数据项 B.数据类型 C.数据元素 D.数据变量
29.如某数据结构的数据元素的集合为S={A,B,C,D,E,F,G},数据元素间的关系为R={<A,D>,<A,G>,<D,B>,<D,C>,<G,E>,<G,F>},则该数据结构是一种( )。
A.线性结构 B.树结构 C.链表结构 D.队列结构
30.下面程序段的时间复杂度为( )。
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
s++;
A.O(1) B.O(n) C.O(n) D.O(n)
31.算法分析的目的是( )
A.出数据结构的合理性 B.研究算法中的输入和输出的关系
C.分析算法的效率以求改进 D.分析算法的易懂性和文档特点
32.算法的计算量的大小称为计算的( )。
A.效率 B. 复杂性 C. 现实性 D. 难度
33.多项选择:一个算法具有( )等特点。
A.可行性 B.至少有一个输入量
C. 确定性 D. 健壮性
字符串是什么数据结构34.下面说法错误的是( )
(1)算法原地工作的含义是指不需要任何额外的辅助空间
(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法
(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界
(4)同一个算法,实现语言的级别越高,执行效率就越低
A.(1) B.(1),(2) C.(1),(4) D.(3)
35.在数据结构中,从逻辑上可以将之分为( )。
A.动态结构和静态结构 B. 紧凑结构和非紧凑结构
C. 内部结构和外部结构 D. 线性结构和非线性结构
36.以下数据结构中,哪一个是线性结构( )。
A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串
37.数据结构中数据元素之间的逻辑关系被称为( )。
A.数据的存储结构 B. 数据的基本操作 C. 程序的算法 D. 数据的逻辑结构
38.在下面的程序段中,对x的赋值语句的频度为( )
FOR i:=1 TO n DO
FOR j:=1 TO n DO
x:=x+1;
A. O(2n) B.O(n) C.O(n2) D.O(log2n)
39.以下哪个数据结构不是多型数据类型( )
A.栈 B.广义表 C.有向图 D.字符串
40.下列数据中,( )是非线性数据结构。
A.栈 B. 队列 C. 完全二叉树 D. 堆
41.以下属于逻辑结构的是( )。
A.顺序表 B. 哈希表 C.有序表 D. 单链表
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论