第一章绪论一、选择题1.从逻辑上可以把数据结构分为()两大类。
A.动态结构、静态结构B.顺序结构、链式结构1C.线性结构、非线性结构2D.初等结构、构造型结构2.与数据元素本身的形式、内容、相对位置、个数无关的是数据的().A.存储结构 B.存储实现 C.逻辑结构 D.实现运算3.算法的计算量的大小称为计算的()。
A.效率 B.复杂性 C.现实性 D.难度4.组成数据的基本单位是()A.数据项B.数据类型C.数据元素D.数据变量5.通常要求同一逻辑结构的中的所有数据元素拥有同样的特性,这意味着()B.数据具有同一特点B.每个数据元素都一样C.数据元素包括的数据项的个数要相等D.不仅数据元素所包含的数据项要相同,并且对应数据项的类型要一致6.数据结构是研究数据的()以及它们之间的相互关系。
A.理想结构,物理结构B.理想结构,抽象结构C.物理结构,逻辑结构3D.抽象结构,逻辑结构7.算法分析的两个主要方面是()A.正确性和简单性B.可读性和文档性1此为存储结构:顺序存储:把逻辑上相邻的节点存储在物理位置上相邻的存储单元中,结点之间的逻辑关系由存储单元的邻接关系来体现。
链式存储:在计算机中用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。
特点是元素在物理上可以不相邻,所以每个数据元素包括了一个数据域和一个指针域,数据域用来存放数据,而指针域用来指向其后继结点的位置。
2线性结构:有且只有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前驱和一个直接后继。
例:线性表,典型的线性表有:顺序表、链表、栈(顺序栈、链栈)和队列(顺序队列、链队列)。
非线性结构:对应于线性结构,非线性结构也就是每个结点可以有不止一个直接前驱和直接后继。
常见的非线性结构包括:树(二叉树)、图(网)等。
3物理结构又称存储结构,逻辑结构又称逻辑关系。
C.数据复杂性和程序复杂性D.时间复杂度和空间复杂度8.算法的时间复杂度取决于()。
A.问题的规模 B.待处理数据的初态 C. A和B9.算法分析的目的是()。
A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性10.计算机算法指的是(1),它必须具备(2)这三个特性。
1)A.计算方法 B.排序方法C.解决问题的步骤序列D.调度方法2)A.可执行性、可移植性、可扩充性 B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性11.一个算法应该是()。
A.程序B.问题求解步骤的描述C.要满足五个基本特性D.A和C.12.下面关于算法说法错误的是()A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C.算法的可行性是指指令不能有二义性D.以上几个都是错误的13.下面说法错误的是()(1)算法原地工作的含义是指不需要任何额外的辅助空间4(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1) B.(1),(2) C.(1),(4) D.(3)14.程序段 for ( i=n-1;i>=1;i--)for (j=1j<=i;j++)if( A[j]>A[j+1])A[j]与A[j+1]对换;其中 n为正整数,则最后一行的语句频度在最坏情况下是()A. O(n)B. O(nlogn) C..O( n3 ) D.O(n2)4算法原地工作的含义是指不需要任何额外的辅助,算法所需要的辅助空间不随着问题的规模而变化,是一个确定的值。
15.以下与数据的存储结构无关的术语是()A.循环队列 B.链表 C.哈希表 D.栈516.以下数据结构中,哪一个是线性结构()?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.单链表二、判断题1.数据元素是数据的最小单位。
( × )62.记录是数据处理的最小单位。
( × )3.数据的逻辑结构是指数据的各数据项之间的逻辑关系。
( × )74.算法的优劣与算法描述语言无关,但与所用计算机有关。
( × )5.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
( √ )6.算法可以用不同的语言描述,如果用C语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。
( × )7.程序一定是算法。
( × )85栈是限制了插入删除点的线性表,是逻辑结构而无关存储结构6数据:对客观事物的符号表示,在计算机科学中指所有能输入到计算机并被计算机程序处理的符号的总称。
数据元素:数据的基本单位。
在计算机程序中通常作为一个整体进行考虑和处理。
数据项:数据的不可分割的最小单位。
一个数据元素可由若干个数据项组成。
数据对象:性质相同的数据元素的集合,是数据的一个子集。
数据结构:相互之间存在一种或多种特定关系的数据元素的集合。
7数据的逻辑结构是数据元素间的逻辑关系8 程序=数据结构+算法8.数据的物理结构是指数据在计算机内的实际存储形式。
( √ )9.数据结构的抽象操作的定义与具体实现有关。
( × )910.在顺序存储结构中,有时也存储数据结构中元素之间的关系。
( × )11.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
( × )12.数据结构的基本操作的设置的最重要的准则是,实现应用程序与存储结构的独立。
( √ )13.数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构. ( × )1014.数据结构的抽象操作的定义与具体实现有关。
( × )15.数据结构是数据对象与对象中数据元素之间关系的集合。
( √ )16.数据结构是数据元素数据元素之间关系。
(×)17.在顺序存储结构中,有时也存储数据结构中元素之间的关系。
( √ )18.数据的逻辑结构是指各数据元素之间的逻辑关系,是用户按使用的需要建立的。
(√)19.算法和程序原则上没有区别,在讨论数据结构是两者是通用的。
(×)20.同一数据逻辑结构中的所有数据元素都具有相同的特性是指数据元素所包含的数据项的个数都相等。
(×)21.数据的逻辑结构与数据元素本身的内容和形式无关。
(√)22.算法的优劣与算法描述语言无关,但与所用计算机有关。
( × )23.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
( √ )24.算法可以用不同的语言描述,如果用C 语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。
( × )三、填空1.数据的物理结构包括的表示和的表示。
2.对于给定的n个元素,可以构造出的逻辑结构有,,,四种。
3.数据的逻辑结构是指。
一个数据结构在计算机中的称为存储结构(又数据的物理结构)。
4.抽象数据类型的定义仅取决于它的一组,而与无关,即不论其内部结构如何变化,只要它的不变,都不影响其外部使用。
5.数据结构中评价算法的两个重要指标是。
9 抽象操作是外部怎样使用该数据结构;具体实现是内部的事情,外部不需要关心。
先设计抽象操作,再完成具体实现。
同一种抽象操作可以有多种具体实现。
对于同一种抽象操作,可能某一种具体实现简单而另一种具体实现复杂。
10 逻辑结构可以根据不同的方式来实现。
6.数据结构是研讨数据的_逻辑结构_和,以及它们之间的相互关系,并对与这种结构定义相应的,设计出相应的。
7.一个算法具有5个特性: 、、,有零个或多个输入、有一个或多个输出。
8.已知如下程序段for (i= n;i<=1;i++){ {语句1}x=x+1;{语句2}for( j=n;j<=i ;j++) {语句3}y:=y+1; } {语句4}9.语句1执行的频度为;语句2执行的频度为;语句3执行的频度为;语句4执行的频度为。
(语句频度:指该语句重复执行的次数,与时间复杂度不同)10.在下面的程序段中,对x的赋值语句的频度为(表示为n的函数)for(i=1;i<=n;i++)for(j=1;j<=i;j++)for(k=1;k<=j;j++)x=x+delta;11.计算机执行下面的语句时,语句s的执行次数为。
for(i=l;i<n-l;i++)for(j=n;j>=i;j--)s;12.下面程序段的时间复杂度为。
(n>1)sum=1;for (i=0;sum<n;i++) sum+=1;。