资源描述
第1章绪论
一、判断题数据的逻辑结构与数据元素本身的内容和形式无关。(/)一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。(/)数据元素是数据的最小单位。(X )
1. 数据的逻辑结构和数据的存储结构是相同的。(X )程序和算法原则上没有区别,所以在讨论数据结构时可以通用。(X)从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。(/)数据的存储结构是数据的逻辑结构的存储映象。(V)
2. 数据的物理结构是指数据在计算机内实际的存储形式。(/)数据的逻辑结构是依赖于计算机的。(X ) 算法是对解题方法和步骤的描述。(/)二、填空题
1. 数据有逻辑结构和存储结构两种结构。
2. 数据逻辑结构除了集合以外,还包括线性结构、树形结构和图形结构。
3. 数据结构按逻辑结构可分为两大类,它们是线性结构和非线性结构 。
4. 树形结构 和图形结构 合称为非线性结构。
5. 在树形结构中,除了树根结点以外,其余每个结点只有L个前驱结点。
6. 在图形结构中,每个结点的前驱结点数和后继结点数可以任意多个。
7. 数据的存储结构又叫物理结构 。
8. 数据的存储结构形式包括顺序存储、链式存储、索引存储和散列存储。
9. 线性结构中的元素之间存在一对一的关系。
10. 树形结构中的元素之间存在一对多的关系。
11. 图形结构的元素之间存在多对多 的关系。
12. 数据结构主要研究数据的逻辑结构、存储结构和算法(或运算)3个方面的内容。
13. 数据结构被定义为(D, R),其中D是数据的有限集合,R是D上的关系 有限集合。
14. 算法是一个有穷指令的集合。
15. 算法效率的度量可以分为事先估算法和事后统计法。
16. 一个算法的时间复杂度是算法输入规模 的函数。
17. 算法的空间复杂度是指该算法所耗费的存储空间,它是该算法求解问题规模的n的函数。
18. 若一个算法中的语句频度之和为T^Kn+Bnlog^,则算法的时间复杂度为O ( nlo^n)。
19. 若一个算法的语句频度之和为T(n)=3n+nlo^+n2?则算法的时间复杂度为O (n2)20・数据结构是一门研究非数值计算的程序问题中计算机的操作对象,以及它们之间的关系和运算的学 科。
三、选择题数据结构通常是研究数据的(A)及它们之间的相互关系。
A.存储结构和逻辑结构 B.存储和抽象C.联系和抽象 D.联系与逻辑在逻辑上可以把数据结构分成(C) o
A.动态结构和静态结构B.紧凑结构和非紧凑结构
C.线性结构和非线性结构D.内部结构和外部结构。
1. 数据在计算机存储内表示时,物理地址和逻辑地址相同并且是连续的,称之为(C)。
A.存储结构B.逻辑结构C.顺序存储结构D,链式存储结构非线性结构中的每个结点(D)。
A.无直接前驱结点.B.无直接后继结点.
3.
4.
5.
6.
7.
8.
同一队列内的各元素的类型(A)。 A.必须一致B.不能一致
队列是一个(C)线性表结构。
A.不加限制的B.推广了的
当利用大小为n的数组顺序存储一个队列时,
A.n-2B.n-1
一个循环队列一旦说明,其占用空间的大小 A.已固定B.可以变动
循环队列占用的空间(A)o
A.必须连续B.不必连续
存放循环队列元素的数组data有10个元素,
A.0-10B.0-9
C.可以不一致
D.不限制
C.加了限制的D.非
该队列的最后一个元素的下标为(B)o
C.n
(A)o
C.不能固定
D.n+l
D.动态变化
C.不能连续
则data数组的下标范围是(B)o
C.1 〜9
D.可以不连续
D.1 〜10
9.
若进队的序列为A、B、C、D,则出队的序列是(C)o10.
10.
11.
12.
13.
A.B、C、D、A
4个元素按A、B、
A. A
4个元素按A、B、
A.A
4个元素按A、B、
值是(B)o
A.OB.l
队列Q,经过下列运算后,x的值是(B)o OutQueue(Q,x) ; ReadFront(Q,x);
A.aB.b
c、
B.A> C、B、D
D顺序连续进队Q,
B. B
D顺序连续进队Q,
B.B
C、D顺序连续进队Q,
c、
C.A、B、C^ D 则队尾元素是(D)
C. C
D.C、B、D、A
D. D
执行一次QutQueue(Q)操作后,队头元素是(B)。
C.CD.D
执行4次QutQueue(Q)操作后,再执行QEmpty(Q);后的
C.2D.3
InitQueue(Q)(初始化队列);InQueue(Q,a) ; InQueue(Q,b);
C.O
D.l
14. 循环队列SQ队满的条件是(B)。
A.SQ->rear= =SQ->frontB. (S Q- > rear +1) %M AXLEN = =SQ->front
C.SQ->rear= =0D.SQ->front= =0设链栈中结点的结构:data为数据域,next为指针域,且top是栈顶指针,若想在链栈的栈顶插入一 个由指针s所指的结点,则应执行下列(A)操作。
A.s->next=top->next;top->next=s;B.top->next=s;
C.s->next=top;top->next;D.s->next=top;top=s;带头结点的链队LQ示意图如下,链队列的队头元素是(A)。
LQ->rear
A. AB. BC. CD. D带头结点的链队列LQ示意图如下,指向链队列的队头指针是(C)。
LQ->rearA.LQ-> frontB.LQ->rearC.LQ->front->nextD .LQ- > rear- > next18.带头结点的链队列LQ示意图如下,在进行进队的运算时指针LQ->frnot(A).
LQ-> frontLQ->rear
A.始终不改变B.有时改变C.进队时改变D.出队时改变19.队列Q,经过下列运算后,再执行QEmpty(Q)的值是(C)。
InitQueue(Q)(初始化队歹U) ; InQueue(Q,a) ; InQueue(Q,b) ; OutQueue(Q,x) ; ReadQueue(Q,x);
A.aB.bC.OD.l20若用一个大小为6数组来实现循环队列,且当前front和rear的值分别为3和0,当从队列中删除一个元 素,再加入两个元素后,front和rear的值分别为(B)。
A.5 和 1B.4 和 2C.2 和 4D.1 和 5
第5章串
一、判断题串是n个字母的有限序列。(X)串的数据元素是一个字符。(/)串的长度是指串中不同字符的个数。(X )
1. 如果两个串含有相同的字符,则说明它们相等。(X )如果一个串中所有的字母均在另一个串中出现,则说明前者是后者的子串。(X)串的堆分配存储是一种动态存储结构。(/)"DT” 是 “DATA” 的子串。(X)
2. 串中任意个字符组成的子序列称为该串的子串。(X)子串的定位运算称为模式匹配。(/)10・在链串中为了提高存储密度,应该增大结点的大小。(/) 二、填空题 由零个或多个字符组成的有限序列称为字符串(或串)。
1. 字符串按存储方式可以分为顺序存储、链接存储和 堆分配存储。
2. 串的顺序存储结构简称为顺序串。
3. 串顺序存储非紧凑格式的缺点是 空间利用率低。
4. 串顺序存储紧凑格式的缺点是对串的字符处理 效率低。
5. 串链接存储的优点是插入、删除方便,缺点是 空间利用率。
6. 在C或C++语言中,以字符 \0表示串值的终结。
7. 空格串的长度等于空格的个数。
8. 在空串和空格串中,长度不为。的是 空格串 。
9. 两个串相等是指两个串长度相等,且对应位置的字符都相同。
10. 设"S=My Music”,贝 lj LenStr(s)= 8 o两个字符串分别为;&=” Today is”、S2=" 30 July, 2005”,ConcatStrS, S2)的结果是 Today is 30
July ,2005o求子串函数 SubStr( "Today is 30July, 2005”,13, 4)的结果是 。
11. 在串的运算中,Equalstr(aaa,aab)的返回值 <0。
12. 在串的运算中,EqualStr(aaa,aaa)的返回值 0。
13. 在子串的定位运算中,被匹配的主串称为目标串,子串称为 模式。
14. 模式匹配成功的起始位置称为有效位移。
15. 设 S=” abccdcdccbaa”,T=” cdcc”,则第 次匹配成功。
16. 设 S="c:/mydocument/textl.doc, T=” mydont”,则字符定位的位置为 。
17. 若n为主串长度,m为子串长度,n»m,则模式匹配算法最坏情况下的时间复杂度为(n-m+l)*m。
三、选择题串是和种特殊的线性表,其特殊体现在(B)o
A.可能顺序存储B.数据元素是一个字符C.可以链接存储 D.数据元素可以是多个字
符某串的长度小于一常数,则采用(B)存储方式最节省空间。
A.链式B.顺序C.堆结构D.无法确定以下论述正确的是(C)o
A.空串与空格串是相同的B. ” tel”是” Tclcptonc"的子串
C.空串是零个字符的串D.空串的长度等于1以下论述正确的是(B)o
A.空串与空格串是相同的B. ” ton”是” Teleptone"的子串
C.空格串是有空格的串D.空串的长度等于1以下论断正确的是(A)o
A.全部由空格组成的串是空格串B. ” BEUIJING"是” BEIJING”的子串
C. ” something" v” Something" D. " BIT” =” BITE”设有两个串&和S2,则EqualStr (SH S2)运算称作(D)o
A.串连接B.模式匹配C.求子串D.串比较7・串的模式匹配是指(D) o
A.判断两个串是否相等 B.对两个串比较大小8.
8.
C.找某字符在主串中第一次出现的位置D.找某子串在主串中第一次出现的第一个字符位置 假设每个字符占用1个字节,
9.
若字符串” ABCDEFG”采用链式存储, 字符串的存储密度为(D)。
A. 20%B. 40%
若字符串” ABCDEFG”采用链式存储, 个结点应存储(A)个字符。
A.2B.3
C. 50%
假设每个指针占用2个字节,
C.4
每个指针占用2个字节。则该
D. 33.3%
若希望存储密度为50%,则每
D.5
10. 设串 Si二” IAM” , S2=” ASDUDENT”
11. 设串 Si二” IAM” , S2=” ASDUDENT”
12. 设串 Si二” IAM” , S2=” ASDUDENT”
则 ConcatStr(St, S2)= (B)o
A. ” IAM”
B.” I AM A SDUDENT" C.” IAMASDUDENT” D.” A
SDUDENT"
11.
11.
设 S=" ” ,则 LenStr(S)= (A)o
A.OB.l
C.2
D.3
12.
13.
设目标串T二”
A.O
设目标串T二”
A.2
AABBCCDDE”,模式P=” ABCDE”,则该模式匹配的有效位移为(A)o
B.lC.2D.3
AABBCCDDEEFF”,模式P二” CCD”,则该模式匹配的有效位移为(D)o
B.3C.4D.5
设目标串T二"aabaababaabaa",模式P=” abab”,模式匹配算法的夕卜层循环进行了 (D)次。
A.lB.9C.4D.5模式匹配算法在最坏情况下的时间复杂是(D)o
A.O(m)B.O(n)C.O(m+n)D.O(m X n)S=” morning”,执行求子串函数SubSur(S,2,2)后结果为(B)。
A. ” mo”B. ” or”C. ” in"D. ” ng"Si二” good”,S2” morning”,执行串连接函数 ConcatSt©, S?)后结果为(A)。
A. ” goodmorning^B. ” good morning”C. ” GOODMORNING”
D.” GOODMORNING”Si二” good”,S2=” morning” 执行函数 SubSur(S2>4,LenStr(Si))后的结果为(B)。
A.” good”B.” ning”C.” go”D." morn”设串 S广” ABCDEFG" , S2=" PQRST”,贝Ij ConcatStr (SubStr(S1? 2, LenStr (S2)), SubStr(S】,LenStr(S2), 2))的结果串为(D)o
A. BCDEFB.BCDEFGC.BCPQRSTD.BCDEFEF若串S=” SOFTWARE",其子串的数目最多是(C)o
A. 35B.36C.37D.38
第6章多维数组和广义表1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
二、1.
2.
3.
4.
5.
6.
7.
8.
9.
判断题n维多维数可以视为n-1维数组元素组成的线性结构。 稀疏矩阵中非零元素的个数远小于矩阵元素的总数。 上三角矩阵主对角线以上(不包括主对角线的元素),均为常数C。 数组元素可以由若干数据项组成。
数组的三元组表存储是对稀疏矩阵的压缩存储。 任何矩阵都可以进行压缩存储。
广义表是线性表的推广,所以广义表也是线性表。 广义表LS=(吼街,……a"则.是其表尾。 广义表((a? b) a, b)的表头和表尾是相等的。 一个广义表的表尾总是一个广义表。
填空题多维数组的顺序存储方式有按行优先顺序存储和按优先顺序存储两种。
在多维数组中,数据元素的存放地址可以直接通过地址计算公式算出,所以多维数组是一 种 随机存取结构。
在n维数组中的每一个元素最多可以有n个直接前驱。
输出二维数组A[n][m]中所有元素值的时间复杂度为n(n*m)。
(V)(/)(x)(V)
(V)(x)(x)(x)
(V)(V)10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
三、1.
数组元素a[0・・・2][0・・・3]的实际地址是2000,元素长度是4,则LOC[1, 2]『 稀疏矩阵的三元组有3 列。
稀疏矩阵的三元组中第1列存储的是数组中非零元素所在的行数n阶对称矩,如果只存储下三角元素,只需要 n(n-l)/2个存储单元' 稀疏矩阵A如图6.19所示,其非零元素存三元组表中,三元组(4, 1, 组表的第 4 项。
稀疏疏矩阵的压缩存储方法通常有三元组表和十字链表任何一个非空广义表的表尾必定是广义表(或子表)。
tail (head ((a, b)(c, d)= b o 设广义表((a, b, c))则将c分离出来的运算是head(tail(tail(hsd(L)))) 广义表现出((a, b) c, d),表尾是(c,d)。
n阶下三角矩阵,因为对角线的上方是同一个常数,需要 顽-1)/2+1个存储单元。 稀疏矩阵中有n个非零元素,则三元组有n行。
(a, (b) , ((c, (d))))的长度是二两种。
厂8
0
0
0
0
0
0
110
0
0
0
0
0
0
6
0
0
0
3
0
0
7
0
0
5
0
0
0
0
1°
0
0
0
9
0
图6-19稀疏矩阵A2.
3.
4.
广义表LS= 广义表LS= 广义表LS二 广义表LS= 选择题 在一个m维数组中,(D)恰好有m个直接前驱和m个直接界后继。
A.开始结点B.总终端结点C.边界结点对下述矩阵进行压缩存储后,失去随机存取功能的是(D)。
A.对称矩阵B.三角矩阵C.三对角矩阵在按行优先顺序存储的三元组表中,下述陈述错误的是(D)。
A.同一行的非零元素,是按列号递增次序存储的B.同一列的非零元素,是按行号递增次序存储的 C.三元组表中三元组行号是递增的 对稀疏矩阵进行压缩存储是为了(B)。
(a, (b) , ((c, (d))))的深度是 4。
(0, L),则L的深度是 (a, (b) , ((c, (d))))的表尾是((b),((c,(d))))。
OOD.内部结点D.稀疏矩阵D.三元组表中三元组列号是递增的
5.
A.降低运算时间B.节约存储空间C.便于矩阵运算D.便于输入和输出 若数组A[0-m] [0-n]按列优先顺序存储,则aij的地址为(A)。
A.LOC(aoo)+[jXm+i] B. LOCg+Ij X n+i] C. LOC(a00)+[(j-l) X n+i-1] D. LOC(ao0)+[(j-1) X m+i-1]6.
下列矩阵是一个(B)。
A.对称矩阵
< 0 0 0、
2 3 0 0
4 5 6 0
<7 8 9 1匕
B.三角矩阵C.稀疏矩阵D.带状矩阵7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
在稀疏矩阵的三元组表示法中,每个三元组表示(D)。
A.矩阵非零元素的值B.矩阵中数据元素的行号和列号C.矩阵中数据元素的行号、列号和值 D.矩阵中非零数据元素的行号、列号和值 已知二维数组A[6][10]?每个数组元素占4个存储单元,若按行优先顺序存储存放数组元素a[3] [5]的存 储地址是WOO,则时0][0]的存储地址是(B)oA. 872B. 860C. 868广义表是线性表的推广,它们之间的区别于(A)。
A.能否使用子表B.肥否使用原子项C.是否能为空下列广义表属于线性表的是(B)。
A.E二(a,E)B.E 二(a,b,c)广义表((a,b) ,c,d)的表尾是(D)oA. aB. dC. (a,b)广义表 A=((x,(a,b)),(x,(a,b),y)),则运算 head(head(tail(A)))^j (A)。
A. xB. (a,b)C. (x,(a,b))tail(head((a,b),c,(c,d)))的结果是(B)。
A. bB. (b)C. (a,b)若广义表满足head(L)=tail(L),则L的形式是(B)。
A.空表B.若L=(a】,…,aQ ,则 ^(昭…两C.若 L=(由,・・・,绵),则(a】二%,二••%) D. ((ai)(a〕)) 数组是一个(B)线性表结构。
A.非B.推广了的数组A[0: 1, 0: 1, 0: 1]共有(D)元素。
A.4B.5广义表((a,b) ,c,d)的表头是(C)oA. aB.d广义表A=(a),则表尾为(C)。
A. aB.(0)以下(C)是稀疏矩阵的压缩存储方法。
A.一维数组B.二维数组设广义表D二(a,b,c,d),其深度为(D) oA.2B.3C.E=(a,(b,c))
C加了限制的C6C・(a,b)C.空表
C.三元数组C.4D. 864D.表的长度
D.E=(a,L);L=0D. (c,d)D. A
D・(d)
D.不加限制的D.8D.(c,d)D.(a)
D.广义表D.8
第7章树和二叉树一、判断题1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
树结构中每个结点最多只有一个直接前驱。(/)完全二叉树一定是满二叉树。(X )在中序线索二叉树中,右线索若不为空,则一定指向其双亲。(x)一棵二叉树中序遍历序列的最后一个结点,必定是该二叉树前序遍历的最后一个结点。(/) 二叉树的前序遍历中,任意一个结点均处于其子女结点的前面。(V)
由二叉树的前序遍历序列和中序遍历序列,可以推导出后序遍历的序列。(/)在完全二叉树中,若一个结点没有左孩子,则它必然是叶子结点。(/)在哈夫曼编码中,当两个字符出现的频率相同,其编码也相同,对于这种情况应该做特殊处理。(X) 含多于两棵树的森林转换的二叉树,其根结点一定无右孩子。
具有n个叶子结点的哈夫曼树共有2n-l个结点。
(X)(V)二、填空题1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
在树中,一个结点所拥有的子树数称为该结点的 度 度为零的结点称为 叶(或叶子,或终端) 结点。
树中结点的最大层次称为树的深度(或高度) 对于二叉树来说,第i层上至多有 2-'个结点。 深度为h的二叉树至多有2、1个结点。
由一棵二叉树的前序序列和中序序列可唯一确定这棵二叉树。
有20个结点的完全二叉树,编号为10的结点的父结点的编号是 5。
哈夫曼树是带权路径长度的最小的二叉树。
由二叉树的后序和中序 遍历序列,可以唯一确定一棵二叉树。
某二叉树的中序遍历序列为:DEBAC,后序遍历序列为:EBCADo则前序遍历序列为 DABEC 。 设一棵二叉树结点的先序遍历序历为:ABDECFGH,中序遍历序历为:DEBAFCHG,则二叉树中叶 结点是:
已知完全二叉树的第8层有8个结点,则其叶结点数是 68。
由树转换二叉树时,其根结点无右子树 。
采用二叉链表存储的n个结点的二叉树,一共有 2n 个指针域。 采用二叉链表存储的n个结点的二叉树,共有空指针 n+1 个。
前序为A, B, C且后序C, B, A的二叉树共有_4 三个结点可以组成2种不同形态的树。
将一棵完全二叉树按层次编号,对于任意一个编号为i的结点,其左孩子结点的编号为:2*i 0 给定如图7-36所示的二叉树,其前序遍历序列为:ABEFHCG。
给定如图7一37所示的二叉树,其层次遍历序列为: ABCEFGH。
E、F、H2h-l种。
图7-37二叉树2
三、1.
2.
3.
4.
5.
选择题树最适合用来表示(D)。
A.有序数据元素B.无序数据元素C.元素之间无联系的数据D.元素之间有分支的层次关系前序为A, B, C的二叉树共有(D)种。
A.2B.3根据二叉树的定义,具有3个结点的二叉树有A.3B.4在一棵具有五层的满二叉树中,结点的点数为
A.16B.31具有64个结点的完全二叉树的深度为(C) oA.5B.6
C.4(C)种树型。
C.5(B)o
C.32D.5D.6D.33
6.
7.
9.
10.
11.
12.
13.
C.7D.8任何一棵二叉树的叶结点在前序、中序、后序遍历序列中的相对次序(A)。
A.不发生改变B.发生改变C.不能确定A, B为一棵二叉树上的两个结点,在中序遍历时,A在B前的条件是A.A和B右方B.A是B祖先D.以上都不对 (C)o
D.A是B子孙C.A和B左方8.
如图7-38所示的二叉树,后序遍历的序列是ABCDEFGHIABDHIECFGHDIBEAFCG
A. H1DEBFGCAC.ABDEHCFG图7-39二叉树4对于图7-39所示的二叉树,其中序序序列为
A.
D.ABCDEFGH某二叉树的后序遍历序列为:DABEC,中序遍历序列为:DEBAC,则前序遍历序列为(D)。
A.ACBEDB.DECABC.DEABC具有n(n>l)个结点的完全二叉树中,结点i(2i>n)的左孩子结点是A.2iB.2i+1C.2i-1把一棵树转换为二叉树后,这棵二叉树的形态是(A)。
A.唯一的B.有多种C.有多种,但根结点都没有左孩子B.DECABD.CEDBA(D)o
D.不存在D.有多种,但根结点都没有右孩子
14. 将一棵有100个结点的完全二叉树从上到下,从左到右依次对结点编号,根结点的编号为1,则编号 为45的结点的左孩子编号为(B)。
A. 46B.47C.90D.91将一棵有10。个结点的完全二叉树从上到下,从左到右依次对结点编号,根结点的编号为1,则编号 为49的结点的右孩子编号为(B)。
A.98B.99C.50D.100二叉树按某种顺序线索化后,任一结点均有指向其前驱和后继的线索,这种说法(B)o
A.正确B.错误C.不确定D.都有可能下列陈述正确的是(D)。
A.二叉树是度为为2的有序树B.二叉树中结点只有一个孩子时无左右之分
C.二叉树必有度为2的结点D.二叉树中最多只有两棵子树,且有左右子树之分用5个权值{3, 2, 4, 5, 1}构造的哈夫曼树的带权路径长度是(B)o
A.32B.33C.34D.15在树结构中,若结点B有4个兄弟,A是B的父亲结点,则A的度为(C)o
A.3B.4C.5D.6二叉树的叶结点个数比度为2的结点的个数(C)。
A.无关B.相等C.多一个1>少一个
一、判断题图可以没有边,但不能没有顶点。(/)在无向图中,(V[, V2)与(\必Vi)是两条不同的边。(X)邻接表只能用于有向图的存储。(X )
1. 一个图的邻接矩阵表示是唯一的。(/)用邻接矩阵法存储一个图时,所占用的存储空间大小与图中顶点个数无关,而只与图的边数有关。(X )有向图不能进行广度优先遍历。(X )若一个无向图以顶点V】为起点进行深度优先遍历,所得的遍历序列唯一,则可以唯一确定该图。(/)
2. 存储无向图的邻接矩阵是对称的,因此只要存储邻接矩阵的上三角(或下三角)部分就可以了。(")用邻接表法存储图时,占用的存储空间大小只与图中的边数有关,而与结点的个数无关。(X)若从一个无向图中任一顶占出发,进行了一次深度优先遍历,就可以访问图中所有的顶点,则该图一
定是连通的。(/) 二、填空题图常用的存储方式有邻接矩阵和 邻接表 等。
1. 图的遍历有: 深度优先搜 和广度优先搜等方法。
2. 有n条边的无向图邻接矩阵中,1的个数是 2n 。
3. 有向图的边也称为弧。
4. 图的邻接矩阵表示法是表示顶点之间相邻关系的矩阵。
5. 有向图G用邻接矩阵存储,其第i行的所有元素之和等于顶点i的出度 。
6. n个顶占c条边的图若采用邻接矩阵存储,则空间复杂度为: 。子 。
7. n个顶占c条边的图若采用邻接表存储,则空间复杂度为:O(n+c) 。
8. 设有一稀疏图G,则G采用 邻接表 存储比较节省空间。
10・设有一稠密图G,则G采用 邻接矩阵存储比较节省空间。
3. 图的逆邻接表存储结构只适用于有向 图。
4. n个顶点的完全无向图有n(n—l)/2 条边。
5. 有向图的邻接矩阵表表示适于求顶点的 出度 。
6. 有向图的邻接矩阵表示中,第i列上非。元素的个数为顶点V的 入度 。
15・对于具有n个顶点的图,其生成树有且仅有n-l条边。
16. 对有n个顶点,c条弧的有向图,其邻接表表示中,需要n+c个结点。
17. 从图中某一顶点出发,访遍历图中其余顶点,且使每一顶点仅被访问一次,称这一过程为图的无向图的邻接矩阵一定是对称矩阵。
18. 一个连通网的最小生成树是该图所有生成树中权最小的生成树。
19. 若要求一个稠密图G的最小生成树,最好用 Prim 算法来求解。
c.只有一个直接前驱结点和一个直接后继结点D・可能有多个直接前驱结点和多个直接后继结点链式存储结构所占存储空间(A)o
A. 分两部分,一部分存放结点的值,另一个部分存放表示结点间关系的指针。
B. 只有一部分,存放结点的值。C.只有一部分,存储表示结点间关系的指针。
D.分两部分,一部分存放结点的值,另一部分存放结点所占单元素算法的计算量大小称为算法的(C)。
A.现实性B.难度C.时间复杂性D.效率数据的基本单位(B)o
A.数据结构B.数据元素C.数据项D.文件每个结点只含有一个数据元素,所有存储结点相继存放在一个连续的存储空间里,这种存储结构称为(A)结构。
A.顺序结构B.链式结构 C.索引结构D.散列结构
9. 每一个存储结点不仅含有一个数据元素,还包含一组指针,该存储方式是(B)o
A.顺序B.链式C.索引
10. 以下任何两个结点之间都没有逻辑关系的是(D)。
A.图形结构B.线性结构C.树形结构
11. 在数据结构中,与所使用的计算机无关的是(C)。
A・物理结构B.存储结构C.逻辑结构
12. 下列4种基本逻辑结构中,数据元素之间关系最弱的是(A)。
A.集合B.线性结构C.树形结构
13. 与数据元素本身的形式、内容、相对位置、个数无关的是数据的(A)。
A.逻辑结构B.存储结构C.逻辑实现
D.散列
D.集合
D.逻辑和存储结构
D.图形结构
D.存储实现
D.散列
D.高效性
每一个存储结点只含有一个数据元素,存储结点存放在连续的存储空间,另外有一组指明结点存储位 置的表,该存储方式是(C)存储方式。
A.顺序B.链式C.索引算法能正确的实现预定功能的特性称为算法的(A)。
A.正确性B.易读性C.健壮性
16. 算法在发生非法操作时可以作出相应处理的特性称为算法的(C)o
A.正确性B.易读性下列时间复杂度中最坏的是(D)。
A. O (1)B.O (n)下列算法的时间复杂度是(D)。 for(i=0;ivn;i++) for(j=o;i<n;j++)c[i][j]=i+j;
A. O (1)B.O (n)算法分析的两个主要方面是(A)。
A.空间复杂性和时间复杂性B.正确性和简明性
C.可读性和文档性D.数据复杂性和程序复杂性C.健壮性C.O( lo^n)C・(logzn)
D.高效性D.OCn2)D.OCn2)
C.解决问题的有限运算步骤D.程序设计方法
20.计算机算法必须具备输入、输出和(C)o A•计算方法B.排序方法
三、1.
2.
选择题在一个图中,所有顶点的度数之和等于图的边数的(C)倍。
A.l/2B.lC.2D.4在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的(B)倍。
D.43.
4.
A.l/2B.lC.2对于一个具有n个顶点的有向图的边数最多有(B)。
A.nB.n(n-l)C.n(n-l)/2在一个具有n个顶点的无向图中,要连通全部顶点至少需要(C)
D.2n 条边。
A.n
B.n+l
C.n-1
D.n/2
有8个结点的有向完全图有(C)条边。
A.14
B.28
C.56
D.112
深度优先遍历类似于二叉树的(A)。
A.先序遍历
B.中序遍历
C.后序遍历
D.层次遍历
5.
6.
C.后序遍历D.层次遍历7.
8.
9.
广度优先遍历类似于二叉树的(D)。
A.先序遍历B.中序遍历任何一个无向连通图的最小生成树(A)。
A.只有一棵B.一棵或多棵无向图顶点v的度是关联于该顶点B)的数目。
A.顶点B.边C.一定有多棵D.可以不存在10.
C.序号有n个顶点的无向图的邻接矩阵是用(B)数组存储。
A.一维B.n行n列C.任意行n列D.下标11.
12.
D.n行任意列 对于一个具有n个顶点和e条边的无向图,采用邻接表表示,则表头向量大小为(C)o A.n-1B.n+lC.nD.n+e在图的表示法中,表示形式唯一的是(A)。
A.邻接矩阵表示法B.邻接表表示法C.逆邻接表表示法D.邻接表和逆邻接表表示法 在一个具有n个顶点c条边的图中,所有顶点的度数之和等于(C)o13.
图8-25从顶点a出发图 8-24图8-23度为3的结点
图8-23中,度为3的结点是
AV
图 8-24是(A)o
A.连通图B.强连通图14.
15.
16.
17.
18.
(15)题(B)o
B.V2C.V3C.生成树D.无环图
d.v4如图8-25所示,从顶点a出发,按深度优先进行遍历,则可能得到的一种顶点序列为(D)。 A.a,b,e,c,d,fB.a,c,f,c,b,dC.a,e,b,c,f,d D.a,c,d,f,c,b如图8-26所示,从顶点a出发,按广度优先进行遍历,则可能得到的一种顶点序列为(A)o A.a,b,c,c,d,fB.a,b,c,c,f,d最小生成树的构造可使用(A)算法。
A.Prim算法B.卡尔算法C.a,c,b,c,f,dD.a,c,d,f,c,bC.哈夫曼算法
D.迪杰斯特拉算法
19. 下面关于图的存储结构的叙述中正确的是(A)。
A. 用邻接矩阵存储图,占用空间大小只与图中顶点数有关,而与边数无关
B. 用邻接矩阵存储图,占用空间大小只与图中边数有关,而与顶点数无关
C. 用邻接存储图,占用空间大小只与图中顶点数有关,而与边数无关
D. 用邻接存储图,占用空间大小只与图中边数有关,而与顶点数无关连通分量是(C)的极大连通子图。
D.有向图
A.树B.图C.无向图
第9章查找一、判断题二分查找法要求待查表的关键字值必须有序。(V)对有序表而言采用二分查找总比采用顺序查找法速度快。(X )
1. 在二叉排序树中,根结点的值都小于孩子的结点的值。(X )散列存储法的基本思想是由关键字的值的决定数据的存储地址。(/)哈希表是一种将关键字转换为存储地址的存储方法。(/)选择好的哈希函数就可以避免冲突的发生。(X )
2. 在有序的顺序表和有序的链表上,均可以采用二分查找来提高查找速度。(X )采用分块查找,既有实现线性表所希望的查找速度,又能适应动态变化的需要。(/)哈希查找的效率主要取决于哈希表构造时选取的哈希函数和处理冲突的方法。(/)10.在二叉排序树上删除一个结点时,不必移动其他结点,只要将该结点的父结点的相应指针域置空即可。
(X)二、填空题1.
2.
3.
4.
5.
6.
7.
8.
顺序查找法,表中元素可以 任意 在分块查找方法中,首先查找索引 ,然后再查找相应的块。
顺序查找、二分查找、分块查找都属于静态 查找。
静态查我表所含元素个数在查找阶段是固定不变的。 对于长度为n的线性表,若进行顺序查找,则时间复杂度为存放。
O(n)9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
对于长度为n的线性表,若采用二分查找,则时间复杂度为0(1。*。)。 理想情况下,在散列表中查找一个元素的时间复杂度为:。⑴ o在关键字序列(7, 10, 12, 18, 28, 36, 45, 92)中,用二分查找法查找关键字92,要比较 _次 才找到。
设有1。。个元素,用二分查找法查找时,最大的比较次数是7 次。
对二叉排序树进行查找的方法是用待查的值与根结点的键值进行比较,若比根结点值小,则继续在— 左子树中查找。
二叉排序树是一种 动态查找表。
哈希表是按 散列存储方式构造的存储结构。 哈希法既是一种存储方法,又是一种查找 方法。
散列表的查找效率主要取决于散列表造表时选取的散列函数和处理冲突的方法。
设散列函数H和键值k- k2,若k】uk2 ,而H (k2 ) H (k2),则称这种现象为 冲突o处理冲突的两类主要方法是开放定地
展开阅读全文