数据结构Word文档格式.docx
《数据结构Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据结构Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
A问题规模的大小B计算机的档次
C编程语言的种类和版本D算法设计者的水平
12.算法的时间复杂度主要与_A___有关
A问题的规模B计算机的硬件性能
C编译程序的质量D程序设计语言
13.算法分析的前提是___A__
A算法是正确的B算法尽可能简单
C算法运行时间少D算法占用空间少
14.算法分析的目的是___C__
A研究算法的输入与输出之间的关系
B找出数据结果的合理性
C分析算法的效率,以求改进算法
D分析算法的可读性
15.算法分析的主要任务是分析__D_
A算法是否具有较好的可读性
B算法中是否存在语法错误
C算法的功能是否符合设计要求
D算法的执行时间与问题规模之间的关系
1-2
1.“数据结构”课程研究的主要内容包括逻辑结构、存储结构、和算法这3个方面
2.一个完整的算法应该具有输入、输出、有穷性、确定性和有效性5个特性
3数据的逻辑结构是指数据元素在客观世界中存在的逻辑关系,而存储结构是指具有某种逻辑关系的数据在计算机存储器中的存储方式。
4.数据的逻辑结构可以分为线性结构和非线性结构两大类
5.除了顺存储结构与链式存储结构之外,数据的存储结构通常还有索引结构和散列结构
6.逻辑上相邻的数据元素在物理位置上也相邻是顺序存储结构的特点之一
7.逻辑上相邻的数据元素在物理位置上不要求相邻是链式存储结构的特点之一
8.为了实现随机访问,线性结构应该采用顺序存储结构
9.链式存储结构的主要优点是插入、删除、等操作的时间效率高
10.算法分析是指对算法质量优劣的评价,主要从时间复杂度和空间复杂度这两个方面对算法进行分析
第二章
2-1
1.一个顺序表占用的存储空间大小与__B__无关
A表的长度B元素的存放顺序
C元素的类型D元素中各字段的类型
2.设存储分配是从低地址到高地址进行的。
若每个元素占用4个存储单元,则某元素的地址是指它所占用的单元的__A__
A第1个单元的地址B第2个单元的地址
C第3个单元的地址D第4个单元的地址
3.若线性表采用顺序存储结构,每个元素占用4个存储单元,第1个元素的存储地址为100,则第12个元素的存储地址是__B_
A112B114C148D412
4.若长度为n的线性表采用顺序存储结构,在表的第i个位置插入一个数据元素,i的合法值应该是__D_
Ai>
0Bi≤nC1≤i≤nD1≤i≤n+1
5.若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,i的合法值应该是__C__
6.若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,首先需要移动表中__A_个数据元素
An-1Bn+iCn-i+1Dn-i-1
7.若长度为n的线性表采用顺序存储结构,在表的第i个位置插入一个数据元素,需要移动表中_C_个元素
A1Bn+iCn-i+1Dn-i-1
8.若频繁地对线性表进行插入和删除操作,该线性表应该采用__C_存储结构合适
A散列B顺序C链式D索引
9.一般情况下,链表中所占用的存储单元地址是_C_
A无序的B连续的C不连续的D部分连续的
10.链表中的每一个链结点所占用的存储单元__B_
A不比连续B一定连续C部分连续D连续与否无所谓
11.与单向链表相比,双向链表的优点之一是__A_
A插入、删除操作更简便B可以进行随机访问
C可以省略头结点指针D可以访问相邻结点
15.在一个具有n个链结点的线性链表中查找某一个链结点,若查找成功,需要平均比较_C_个链结点
AnBn/2C(n+1)/2D(n-1)/2
18.在非空线性链表中由P所指的链结点后面插入一个有q所指的链结点的过程是依次执行_B_
Aq->
link=p;
p->
link=q
Bq->
link=p->
link;
Cq->
link:
p=q
Dp->
link=q;
q->
link=p
2-2
1.顺序表是一种_采用顺序存储结构的_线性表
2.在程序设计中,藐视线性表的顺序存储结构一般都用_数组_
4.在顺序表的_紧挨着最后那个数据元素之后_插入一个新的数据元素不必移动任何元素
6.长度为n的线性表采用顺序存储结构,删除其第i个元素(1≤i≤n),首先_将表的第i+1个元素至第n个元素依次前移一个位置_,然后_表长减1_
8.若某线性表采用顺序存储结构,每个元素占4个存储单元,首地址为100,则第12个元素的存储地址为_144_
9.线性表的链式存储结构主要包括_单链表_、_循环链表_和_双向链表_三种形式
10.线性表的顺序存储结构是通过_元素的地址_直接反映数据元素之间的逻辑关系,而链式存储结构则是通过_指针_间接反映数据元素之间的逻辑关系
11.根据_链表的每个链结点中指针域的数目是1还是2_的多少,可以将链表分为线性链表(单链表)和双向链表
16.若p为指向循环链表中某链结点的指针变量,判断循环链表是否只有一个链结点的标志是“p->
link===p”
第三章
3-1
1.所谓特殊矩阵是指_C__比较特殊
A矩阵元素之间的关系B矩阵的处理办法
C矩阵元素的取值D矩阵的存储方法
2.所谓稀疏矩阵是指_A_的矩阵
A零元素较多且分布无规律B非零元素较少
C元素较少不适合采用二维数组表示
3.下面的说法中,不正确的是_D__
A只需存放对称矩阵中包括主对角线元素在内的下(或上)三角部分的元素即可
B只需存放对角矩阵中的非零元素即可
C稀疏矩阵中值为零的元素较多,因此可以采用三元组表方法存储
D稀疏矩阵中大量值为零的元素分布有规律,因此可以采用三元组表方法存储
3-2
1.一般情况下,数组最基本的操作是_根据给定的数组下标检索相应元素、修改或存取相应元素以及排序_
2.一个m行n列的矩阵可以看成是长度为_n_的线性表,表中的每一个元素是长度为m的线性表
3.一个m行n列的矩阵可以看成是长度为_m_的线性表,表中的每一个元素是长度为n的线性表
4.已知具有4行6列的矩阵A采用行序为主序存储,每个元素占用4个存储单元,该数组一共占用了_96_个存储单元
7.对特殊矩阵采用压缩存储方法的主要目的是 节省存储空间的开销
第四章
4-1
1.堆栈和队列的共同之处在于它们具有相同的_A_
A逻辑特性B物理特性C运算方法D元素类型
2.若某堆栈初始为空,PUSH与POP分别表示对堆栈进行一次进栈操作,那么,对于进栈序列a,b,c,d,e,经过PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH,以后,得到的出栈序列号是_B_
Ab,aBb,cCb,dDb,e
3,若5个元素的出栈序列为1,2,3,4,5,则进栈序列可能是_D_
A2,4,3,1,5B2,3,1,5,4C3,1,4,2,5D3,1,2,5,4
4.某队列初始为空,若它的输入序列为a,b,c,d,它的输出序列应为_A_
Aa,b,c,dBd,c,b,aCa,c,b,dDd,a,c,b
6.设n个元素的进栈序列为1,2,3,…,n,出栈序列为P1,P2,P3,…,Pn,若P1=n,则pi(1≤i<
n)的值_C_
A为iB为n-iC为n-i+1D有多种可能
8.若堆栈采用顺序存储结构,正常情况下,往堆栈中插入一个元素,栈顶指针top的变化是_D_
A不变Btop=0C——topD++top
9.若堆栈采用顺序存储结构,正常情况下,删除堆栈中一个元素,栈顶指针top的变化是_C_
10.若队列采用顺序存储结构,元素的排列顺序_B_
A与元素值的大小有关B有元素进入队列的先后顺序决定
C与对头指针和对尾指针的取值有关D与作为顺序存储结构的数组的大小有关
11.“链接队列”这一概念不涉及_B_
A数据的存储结构B数据的逻辑结构C对数据进行的操作D链表的种类
13.若非空堆栈采用链式存储结构,栈顶指针为top,删除堆栈一个元素的过程是依次执行:
p=top;
,_B_,free(P);
Atop=pBtop=p->
linkCp=top->
linkDp=p->
link
16.在循环队列中,若front与rear分别表示对头元素和队尾元素的位置,则判断循环队列对空的条件是_C_
Afront=rear+1Brear=front+1Cfront=rearDfront=0
17.描述某循环队列的数组为QUEUE[0..M-1],当循环队列满时,队列中有_B_个元素
AMBM-1CM+1DM+2
18.在解决计算机主机与打印机之间速度不匹配问题时,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区,而打印机则依次从该缓冲区中取出数据打印,该缓冲区应该是一个_D_结构
A线性表B数组C堆栈D队列
19.设计一个递归问题的非递归算法通常需要设置_C_结构
20.中辍表达式A—(B+C/D)×
E的后缀形式是_B_
AABC+D/×
E—BABCD/+E×
—CAB—C+D/E×
DABC—+D/E×
4-2
1.堆栈和队列的逻辑结构都是_线性_结构
2.堆栈的插入和删除操作都是在_栈顶_位置上进行,而队列的插入在_队尾_进行,删除操作在_队头_进行
3.对某堆栈执行删除操作时,只有在_栈中只有一个位置的_情况下,才会将栈底元素删除
4.在具体的程序设计过程中,堆栈的顺序存储结构一般是利用一个_数组_描述的,同时还要定义一个整型变量来_给出栈顶元素的位置_
5.堆栈采用顺序存储结构,未溢出的情况下往堆栈中插入一个元素,首先_将栈顶指针后移一个位置_,然后将被插入元素放在修改后的栈顶指针所指出位置
6.队列采用顺序存储结构,为溢出时插入一个元素首先将队尾指针后移一个位置,然后再将被插入元素放在修改后的队尾指针所指出的位置
7.当堆栈的最大长度难以估计时,堆栈最好采用链式存储结构
9.中辍形式的算术表达式A—(B+C/D)×
E的后缀形式为ABC—D/E×
+
10.后缀形式的算术表达式ABCD/—E×
+的中缀形式为A+(B-C/D)×
E
4-4
若按从左到右的顺序依次读入已知序列(a,b,c,d,e,f.,g)中的元素,然后结合堆栈操作,能得到下列序列中的哪些序列(每个元素进栈一次,下列序列表示出栈的次序)?
<
1>
(d,e,c,f,b,g,a)<
2>
(f,e,g,d,a,c,b)<
3>
(e,f,d,g,b,c,a)<
4>
(c,d,b,e,f,a,g)
答:
可以得到<
.<
4-5设有编号1,2,3,4的4辆列车,顺序进入一个栈式结构的站台,请写出这4辆车列车开出车站的所有可能的顺序
这4辆列车开出车站的所有可能的顺序有4中种情况,它们分别如下:
1,2,3,41,2,4,3,1,3,2,41,3,4,2,2,1,3,41,4,3,22,1,4,3,
2,3,1,42,3,4,12,4,3,13,2,,1,43,2,4,13,4,2,14,3,2,1
第五章
5-1
(1)广义表是指广义表___D__
A.度为0B.尚未赋值
C.不含任何原子元素D.不含任何元素
(2)广义表中的元素分为__C___
A.原子元素B.表元素
C.原子元素和表元素D任意元素
(3)广义表的长度是指__A___
A.广义表中的元素的个数B.广义表中原子元素的个数
C.广义表中表元素的个数D.广义表中括号嵌套的层数
(4)广义表的深度是指_D____
A.广义表中元素的个数B.广义表中原子元素的个数
(5)在一个长度为n、包含m个原子元素的广义表中,_D____
A.m和n相等B.m不大于n
C.m不小于nD.m与n无关
(6)广义表A=((),(a),(b,)(c,d)))的长度为__B___
A.2B.3C.4D.5
(7)广义表A=((),(a),(b,(c,d)))的深度为__B___
5-3请分别写出下列各广义表的长度和深度。
(1)A=((a))
(2)B=(a,(b,c,d),e,())
(3)C=(x,((y),B,A))
(4)D=(A,D)
(1)A的长度为1
(2)B的长度为4
(3)C的长度为2
(4)D的长度为∞
第六章
6-1请回答空串与空格串有何区别。
6-2两个字符串相等的充分必要条件是什么?
第七章
7-1
(1)树形结构最适合用来描述__C___
A.有序的数据元素B.无序的数据元素
C.数据元素之间具有的层次关系的数据D.数据元素之间没有关系的数据
(2)对于一棵具有n个结点、度为4的树而言,_B____
A树的深度最多是n—4B.树的深度最多是n—3
C.第i层上最多有4×
(i—1)个结点D.最少在某一层上正好友4个结点
(3)“二叉树为空”意味着二叉树__D___
A.由一些未赋值的空结点组成B.根结点无子树
C.不存在D.没有结点
(4)按照二叉树的定义,具有3个结点的二叉树有_D____种形态(不考虑数据信息的组合情况)
(5)若一棵深度为7的树有8个度为1的结点,有7个度为2的结点,有6个度为3结点,有5个度为4的结点,有4个度为5的结点,有3个度为6的结点,有2个度为7的结点,则该树一共有__D___个叶结点。
A.35B.28C.77D.78
(6)若一棵二叉树有10个度为2的结点,则该二叉树的叶结点的个数是_B____
A.9B.11C.12D.不确定
(7)若一棵满二叉树有2047个结点,则该二叉树中叶结点的个数为_B____
A.512B.1024C.2048D.4096
(10)具有n个结点的非空完全二叉树的深度为_D___
A.n—1B.nC.⎣log2n⎦D.⎣log2n⎦+1
(11)具有2000个结点的非空二叉树的最小深度为__C___
A.9B.10C.11D.12
(13)若二叉树的前序序列与后序序列的次序正好相反,则该二叉树一定是__D___的二叉树。
A.空或仅有一个结点B.其分支结点无左子树
C.其分支结点无右子树C.其分支结点的度都为1
(14)任何一棵非空二叉树中的叶结点的前序遍历、中序遍历与后序遍历中的相对位置__B___
A.都会发生改变B.不会发生改变
C.有可能会发生改变D.部分会发生改变
(16)对一棵二叉树排序进行__B___遍历,可以得到该二叉树的所有结点按值从小到大排列的序列。
A.前序B.中序C.后序D.按层次
(21)平衡二叉树中任意结点的平衡因子只能是__D___之一。
A.0,1,2B.0,1C.—1,+1D.0,—1,+1
7-2
(1)任何非空树中有且仅有一个结点没有前驱结点,该结点就是树的_根结点____
(2)树的层次定义为__根结点为第1层,若某结点在第i层,则其孩子结点(若存在的话)在第i++层____
(5)非空二叉树一共有_4____种基本形态
(6)非空二叉树中第i层最多有__2的i-1次方___个结点。
(10)若具有n个结点的非空二叉树有
个叶结点,则该二叉树有__
-1___个度为2的结点,__n-2
+1____个度为1的结点。
(11)对具有n个结点的完全二叉树按照层次从上到下,每一层从左到右的次序对所有结点进行编号,编号为i的结点的双亲结点的编号为_⎣i/2⎦____,左孩子的编号为___2i__,右孩子的编号为_2i+1____。
(13)二叉树的遍历方式通常有_前序遍历__、_中序遍历_、_后序遍历__和__按层次遍历__4种
(14)已知二叉树的前序遍历序列为ABDCEFG,中序遍历序列为DBCAFEG,后续遍历序列为_DCBFGEA____
(16)在二叉树中,若结点A有左孩子Y和右孩子X,则在结点的前序序列、中序序列和后序序列中,结点__Y__一定的结点_X___的前面。
(18)对二叉排序树进行_中序遍历_,可以得到该二叉树中所有结点组成的按值有序排列的序列。
7-6一棵度为2的树与一棵二叉有什么区别?
度为2的树不一定是有序树,而一棵度为2的二叉树一定是有序树。
7-7请分别画出具有3个结点的树和具有3个结点的二叉树的所有形态。
7-8请分别列出如图7.47所示二叉树的所有叶结点与分支结点,并分别指出各结点的度以及所在的曾次数
7-10已知某算术表达式的中缀形式为A+B×
C—D/E,后缀形式为ABC×
+DE/—,请写出其前缀形式(利用二叉树的遍历序列)。
前缀形式为—+A×
BC/DE
7-11已知某二叉树的前序序列为ABDEGCFHIJ,中序序列为DBGEAHFIJC,请写出后序序列。
后序遍历序列:
DGEBHJIFCA
第八章
8-1
(1)在一个图中,所有顶点的度数之和等于所有边数的__C___倍。
A.1/2B.1C.2D.4
(2)一个具有n个顶点的无向图最多有_A____条边。
A.n(n-1)/2B.n(n-1)C.n(n+1)/2D.n²
(3)一个具有n个顶点的有向图最多有___B__条边
(4)在一个具有n个顶点的无向图中,有连同全部顶点至少需要__C___条边。
A.nB.n+1C.n-1D2n
(5)具有n个顶点的连通图的生成树一定有_C____条边。
(7)在带权图中,两个顶点之间的路径长度是__D___。
A.路径上的顶点数目B.路径上的边的数目
C路径上顶点和边的数目D.路径上所有边的权值之和
(8)若具有n个顶点的无向图采用邻接矩阵储存方法,该邻接矩阵一定为一个__B___。
A.一般矩阵B.堆成矩阵C.对角矩阵D.稀疏矩阵
(9)若图的邻接矩阵中主对角线上的元素均为0,其余元素全为1,则可以断定该图一定__C___。
A.是无向图B.是有向图
C.是完全图D.不是带权图
(10)有向图的邻接表的第i个链表中的边结点数目是第i个顶点的_B____
A.度数B.出度C.入度D.边数
(11)若某图的邻接表中的边结点数目为奇数,则该图__C___。
A.一定有奇数个顶点B.一定有偶数个顶点
C.一定是有向图C.可能是无向图
(12)若某图的邻接表中的边结点数目为偶数,则该图__C___。
A.一定是无向图B.可能是有向图
C.可能是无向图,也可能是有向图D.一定是偶数个顶点
(13)若无向图有k条边,则相应的邻接表中就有__C___个边结点
A.k-1B.kC.2kD.k²
(22)已知某有向图G=(V,E),其中V={v1,v2,v3,v4,v5,v6},E={<
v1,v2>
,<
v1,v4>
v2,v6>
v3,v1>
v3,v4>
v4,v5>
v5,v2>
v5,v6>
},G的拓扑序列是__A___
A.v3,v1,v4,v5,v2,v6B.v3,v4,v1,v5,v2,v6
C.v1,v3,v4,v5,v2,v6D.v1,v4,v3,v5,v2,v6
(24)下面涉及到AOE网的叙述中,正确的是_D____。
A.AOE网是一个带权的连通无向图
B.AOE网是一个带权的连通有向图
C.AOE网是一个带权的无环连通图
D.AOE网是一个带权的无环有向图
(25)下面关于AOE网的叙述中,不正确的是_D____。
A.若所有关键活动都提前完成,则整个工程一定能够提前完成
B.即使所有非关键活动都未按时完成,整个工程仍有可能按时完成
C.任何一个关键活动的延期完成,都会导致整个工程的延期完成
D.任何一个关键活动的提前完成,都会导致整个工程的提前完成
8-2
设一有向图为G=(V,E),其中,V={V1,V2.V3.V4,},E={<
V2,V1>
<
V3,V2>
V4,V3>
V4,V2>
V1,V4>
},请画出该有向图。
8-3已知给定有向图如图所示,请完成
(1)分别写出每个顶点的入度与出度
(2)画出相应