《数据结构与算法》第二部分  习题精选
一、填空题
1. 数据结构是一门研究非数值计算的程序设计问题中计算机的      以及它们之间的        和运算等的学科。
2. 数据结构被形式地定义为(D, R),其中D是        的有限集合,R是D上的      有限集合。
3. 数据结构包括数据的        、数据的      和数据的      这三个方面的内容。
4. 数据结构按逻辑结构可分为两大类,它们分别是               
5. 线性结构中元素之间存在      关系,树形结构中元素之间存在      关系,图形结构中元素之间存在          关系。
6. 在线性结构中,第一个结点        前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点        后续结点,其余每个结点有且只有1个后续结点。
7. 在树形结构中,树根结点没有        结点,其余每个结点有且只有        个前驱结点;叶子结点
没有          结点,其余每个结点的后续结点数可以       
8. 在图形结构中,每个结点的前驱结点数和后续结点数可以         
9.数据的存储结构可用四种基本的存储方法表示,它们分别是                           
10. 数据的运算最常用的有5种,它们分别是                             
11. 一个算法的效率可分为        效率和        效率。
二、单项选择题
( )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. 计算机算法必须具备输入、输出和      等5个特性。
A) 可行性、可移植性和可扩充性      B) 可行性、确定性和有穷性
C) 确定性、有穷性和稳定性          D) 易读性、稳定性和安全性
三、阅读下列C程序段,写出相应的执行结果
1.printf(“Input  x”);
scanf(“%d”,&x);
if (x<=30)
  if(x>20) y=x;
else if (x>10) y=2*x;
    if (x>0&&x<30)printf(“x=%d,y=%d”,x,y);
        else printf(“输入数据错!”);
试写出当x分别为18,8时的执行结果。
四、分析下面各程序段的时间复杂度
1.  for (i=0;  i<n; i++)
for (j=0; j<m; j++)
A[i][j]=0;
3.  x=0;
for(i=1; i<n; i++)
  for (j=1; j<=n-i; j++)
x++;
精选习题答案           
一、填空题
1.  操作对象、 关系    2.  数据元素、关系  3. 逻辑结构、存储结构、运算  4. 线性结构、非线性结构 5.一对一关系、一对多关系,多对多关系。6. 没有、没有    7. 前驱、1、后续、任意多个  8. 任意多个9.顺序  、 链式 、 索引、散列  10.插入 、删除、修改、查 、排序   
11.  时间  空间
二、1、B  2、C  3、C  4、A    5、C  6、B
1、答:运行结果为:x=18y=36  
x=8y=运行前的值,  且从x=30开始为数据错
2、答:运行结果为: 5,120    此题为递归运算
四、
1、答:O(m*n) 2、答:O(n2) 3、O(n2)  4、O(log3n

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。