Ch1绪论
1.下列与数据元素有关的叙述中,哪一个是不正确的( B )。 A.数据元素是数据的基本单位,即数据集合中的个体 B.数据元素是有独立含义的数据最小单位 C.数据元素又称结点 D.数据元素又称作记录
2.下列关于数据的逻辑结构的叙述中,哪一个是正确的( A )。 A.数据的逻辑结构是数据间关系的描述 B.数据的逻辑结构反映了数据在计算机中的存储方式 C.数据的逻辑结构分为顺序结构和链式结构 D.数据的逻辑结构分为静态结构和动态结构 3.数据的基本单位是(数据元素),在计算机中通常作为一个(整体)进行处理。 4.所有能输入到计算机中并被计算机程序处理的(符号)称为数据。
5.数据结构是一门研究非数值计算的程序设计问题中计算机的(① A)以及它们之间的(② B)和运算等的学科。 ① A.数据元素 B.计算方法 C.逻辑存储 D.数据映像 ② A.结构 B.关系 C.运算 D.算法 6.数据结构被形式的定义为(K,R),其中K是(①B)的有限集,R是K上的(②D)有限集。 ① A.算法 B.数据元素 C.数据操作 D.逻辑结构 ② A.操作 B.映像 C.存储 D.关系 7.具有线性结构的数据结构是( D )。
A.树 B.图 C.广义表 D.栈
8.在数据结构中,从逻辑上可以把数据结构分为( D )。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.内部结构和外部结构 D.线性结构和非线性结构 9.线性结构中元素之间存在( A)关系。
A.一对一 B.一对多 C.多对一 D.多对多 10.数据逻辑结构包括(集合)、(线性结构 )、( 树形结构 )和( 图状结构)四种类型,树形结构和图形结构合称为( 非线性结构)。
11.在线性结构中,第一个结点( 没有 )前驱结点,其余每个结点有且只有( 1 )个前驱结点,最后一个结点(没有)后继结点,其余每个结点有且只有( 1 )个后继结点。
12.在树形结构中,树根结点没有( 前驱)结点,其余每个结点有且只有( 1 )个前驱结点,叶子结点没有(后继)结点,其余每个结点的后继结点可以( 任意多个)。 13.在图形结构中,每个结点的前驱结点可以( 任意多个 )。 14.数据的结构是指( 数据元素之间的逻辑关系 )。数据的存储结构基本上可分为( 顺序存储结构和链式存储结构 )。
15.数据类型是值的( 类型 )和定义在这个值集上的一组( 操作)的总称。 16.数据结构包括(数据的逻辑结构 )、( 数据的存储结构 )、( 操作 )三方面的内容。
17.数据结构是一门研究非数值计算的程序设计问题中计算机的( 数据元素)以及它们之间的( 关系)和( 运算)等的学科。
18.高级语言中,按“值”的不同特性,数据类型可分为( 原子类型)和( 结构类型 )。 19.定义在数据结构上的基本操作主要有( 更新)、(插入)和(删除)。 20.以下关于链式存储结构的叙述中哪一条是不正确的( C )。
A.结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构。 B.逻辑上相邻的结点物理上不必邻接。
C.可以通过计算直接确定第i个结点的存储地址。 D.插入、删除运算操作方便,不必移动结点。
21.以下哪一种术语与数据的存储结构有关( C )。 A.栈 B.队列 C.散列表 D.线性表
22.以下关于顺序存储结构的叙述中哪一条是不正确的( B )。 A.存储密度大
B.逻辑上相邻的结点物理上不必邻接。
C.可以通过计算直接确定第i个结点的存储地址。 D.插入、删除运算操作不方便。
23.线性结构的顺序存储结构是一种( ①A )的存储结构,线性表的链式存储结构是一种( ②B )的存储结构。 A.随机存取 B.顺序存取 C.索引存取 D.散列存取
24.线性表若采用链式存储结构时,要求内存中可用存储单元的地址( D )。 A.必须是连续的 B.部分地址必须是连续的 C.一定是不连续的 D.连续不连续都可以 25.在以下的叙述中,正确的是( B )。 A.线性表的顺序线性存储结构优于链式存储结构 B.二维数组是其数据元素为线性表的线性表 C.栈的操作方式是先进先出 D.队列的操作方式是先进后出
26.数据的存储结构有(顺序存储结构)和(链式存储结构 )两种。 27.什么是顺序存储方式?简述顺序存储方式的主要优缺点。 解:优点:
(1)顺序存储结构的线性表是可以随机存取其中的任意元素,定位操作可以直接实现。 (2)用数组数据类型可以直接定义顺序存储结构的线性表,程序设计十分方便。
缺点:
(1)数据元素最大个数需预先确定,使得高级程序设计语言编译系统需预先分配相应的存储空间。 (2)插入与删除运算的效率很低。
(3)顺序存储结构的线性表的存储空间不便于扩充。 28.计算机算法指的是( ①C ),它必须具备输入、输出和( ② B)等5个特性。 ①A.计算方法B.排序方法C.解决问题的有限运算序列 D.调度方法 ②A.可执行性、可移植性和可扩充性 B.可行性、确定性和有穷性 C.确定性、有穷性和稳定性 D.易读性、稳定性和安全性 29.算法分析的主要内容是( D )。
A.正确性 B.可读性和稳定性 C.简单性 D.空间复杂性和时间复杂性
30.关于算法的时间复杂度,下列说法错误的是( D)。 A.算法中语句执行的最大次数作为算法的时间复杂度 B.一个算法的执行时间等于其所有语句执行时间的量度
C.任一语句的执行时间为该语句执行一次所需的时间与执行次数的乘积
D.一般认为,随问题规模n的增大,算法执行时间的增长速度较快的算法最优。 31.算法的五个重要特性是( 输入)、( 输出 )、( 确定性)、( 可行性 )和(有穷性 )。 32.算法效率的度量主要采用( 空间复杂度 )和(时间复杂度)来衡量。 33.描述算法一般采用(高级语言 )、( 伪码)和( 流程图)三种形式。 34.对算法的设计要求有( 正确性 )、(可读性 )、( 健壮性)、(高效率与低存储量需求 )。 35.计算下面各程序段的的时间复杂度。
(1) temp=i; i=i; i=temp; O(1) (2) i=s=0; O(n) While(i { i++; i=0,1,2,…,n-1 频度:n s+=i; } (3) for(i=1;i<=n;i++) for(j=1;j<=i;j++) for(k=1;k<=j;k++) x++; (4) x=0; y=0; O(n) for(k=1;k<=n;k++) x++;n for(i=1;i<=n;i++) for(j=1;j<=n;j++) y++;n2 (5) i=n; O(n) while(i>0&&A[i]!=K) i--; (6) fact( int n) { if ( n<=1 ) return ( 1 ); else return ( n*fact ( n-1 ) );} 2 (7)i=1; O(log2n) While ( i<=n ) i=i*2; 1.i=1=20?i=1*2 2.i=1*2=21?1*2*2 … x.i=2x-1<=n? i=2x>n