2016现代科技学院《软件技术基础》练习题+答案

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

《软件技术基础》练习题太原理工大学现代科技学院2016

第一章算法

一、选择题

1. 算法的复杂度包括【】。

A、时间复杂度

B、空间复杂度

C、时间及空间复杂度

D、以上都不对

2. 若x在长度为n的无序线性顺序表中的概率为50%,则在该表中查找x的平均查找次数(平均性态分析)为【】。

A、(n*3+1)/4

B、(n-1)/2

C、(n+1)/2

D、(n+1)*n/2

3. 若x在长度为n的无序线性顺序表中的概率为50%,则在该表中查找x的最坏情况分析为【】。

A、n/2

B、(n-1)/2

C、(n+1)/2

D、n

4. 已知基本运算执行次数与n的关系,则下列哪个时间复杂度最大:【】。

A. f(n) = 1

B. f(n) = 2n - 1

C. f(n) = 10000n+10000

D. f(n) = n2-10000

5. 算法分析的目的是【】。

A.找出数据结构的合理性

B.研究算法中的输入和输出的关系

C.分析算法的效率以求改进

D.分析算法的易懂性和文档性

二、填空题

1. 常用算法包括_________、_________、_________、_________、_________和回溯法。

2. 算法的基本特征有_________、_________、有穷性、输入和输出。

3. 下列程序段的时间复杂度是____。

for (i=1;i<=n;i++)

A[i,i]=0;

4.下列程序段的时间复杂度是____

s=0;

for(i=1;i<=2n;i++)

for(j=1;j<=n;j++)

s=s+B[i][j];

sum=s;

5. 下列程序段的时间复杂度是____

i=1;

while (i<=n)

i=i*2;

6. 在下面的程序段中,s= s + p;语句的执行次数为_________,p= p×j语句的执行次数为_________ ,该程序段的时间复杂度为________ 。

int i=0, s=0, p=1;

while( ++i<=n )

{

for(j=1; j<=i; j++ )

p = p×j;

s = s + p;

}

7. 常见时间复杂度的量级有:常数阶O(_________)、对数阶O(_________)、线性阶O(_________)、平方阶O(_________)和指数阶O(_________)。

三、判断题

1. 算法和程序没有区别,所以在数据结构中二者是通用的。

第二章基本数据结构及其运算

一、选择题

1. 数据结构的逻辑结构被形式地定义为(D,R),其中D是【(1)】的有限集合,R是D上【(2)】的有限集合。

(1) A.算法B.数据元素C.数据操作D.逻辑结构

(2) A.操作B.映像C.存储D.关系

2. 在数据结构中,从逻辑上可以把数据结构分为【】。

A.动态结构和静态结构B.紧凑结构和非紧凑结构

C.线性结构和非线性结构D.内部结构和外部结构

3 设进栈的输入序列是1,2,3,4,则【】不可能是其出栈序列。

A. 1243

B. 2134

C. 1432

D. 4312

4. 设有一顺序栈s,元素s1,s2,s3,s4,s5,s6依次入栈,如果6个元素出栈的顺序是s2,s3,s4,s6,s5,s1,则栈的容量至少应该是【】。

A.2 B.3 C.5 D.6

5. 线性表若采用链表存储结构,要求内存中可用存储单元的地址【】。

A.必须是连续的B.部分必须是连续的

C.一定是不连续的D.连续不连续都可以

6. 有如下定义struct Snode { int data; struct Snode *next; } *p, *q; 则将新结点q插入到单链表的p 结点之后,下面的操作【】是正确的。

A. q=p-> next; p-> next =q-> next;

B. p-> next =q-> next; q=p-> next;

C. q-> next =p-> next; p-> next =q;

D. p-> next =q; q-> next =p-> next;

7. 一个线性顺序表第一个元素的存储地址是2000,每个元素长度为4个字节,则第3个元素的起始存储地址为【】。

A. 2008

B. 2000

C. 2004

D. 2012

8. 下列关于二叉树的叙述中,正确的是【】。

A. 叶子结点总是比度为2的结点少一个

B. 叶子结点总是比度为2的结点多一个

C. 叶子结点数是度为2的结点数的两倍

D. 度为2的结点数是度为1的结点数的两倍

9. 某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是【】。

A. 10

B. 8

C. 6

D. 4

10. 一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为【】。

A. 16

B. 10

C. 6

D. 4

11. 某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层) 【】。

A. 3

B. 4

C. 6

D. 7

12. 某二叉树有7个度为2的结点,则该二叉树中的叶子结点数是【】

A.10

B.8

C.4

D.6

13. 一棵深度为k的满二叉树中结点的个数是【】

A. 2k

B. 2k -1

C. 2k-1

D. 2k-1-1

14. 在以下的叙述中,正确的是【】。

相关文档
最新文档