数据结构习题Word格式文档下载.docx
《数据结构习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据结构习题Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
=1TOnDO
x:
=x+1;
A.O(2n)B.O(n)C.O(n2)D.O(log2n)
9.程序段FORi:
=n-1DOWNTO1DO
=1TOiDO
IFA[j]>
A[j+1]
THENA[j]与A[j+1]对换;
其中n为正整数,则最后一行的语句频度在最坏情况下是()
A.O(n)B.O(nlogn)C.O(n3)D.O(n2)
11.以下数据结构中,()是非线性数据结构
A.树B.字符串C.队D.栈
12.连续存储设计时,存储单元的地址()。
A.一定连续B.一定不连续C.不一定连续D.部分连续,部分不连续
二、判断题
1.数据元素是数据的最小单位。
()
2.记录是数据处理的最小单位。
()
3.数据的逻辑结构是指数据的各数据项之间的逻辑关系;
()
4.算法的优劣与算法描述语言无关,但与所用计算机有关。
()
5.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
()
6.算法可以用不同的语言描述,如果用C语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。
7.程序一定是算法。
8.数据的物理结构是指数据在计算机内的实际存储形式。
9.数据结构的抽象操作的定义与具体实现有关。
10.在顺序存储结构中,有时也存储数据结构中元素之间的关系。
11.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
12.数据结构的基本操作的设置的最重要的准则是,实现应用程序与存储结构的独立。
13.数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构.()
第2章线性表
一选择题
1.下述哪一条是顺序存储结构的优点?
A.存储密度大B.插入运算方便C.删除运算方便D.可方便地用于各种逻辑结构的存储表示
2.下面关于线性表的叙述中,错误的是哪一个?
A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
3.线性表是具有n个()的有限序列(n>
0)。
A.表元素B.字符C.数据元素D.数据项E.信息项
4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
A.顺序表B.双链表C.带头结点的双循环链表D.单循环链表
5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表
8.静态链表中指针表示的是().
A.内存地址B.数组下标C.下一元素地址D.左、右孩子地址
9.链表不具有的特点是()
A.插入、删除不需要移动元素B.可随机访问任一元素
C.不必事先估计存储空间D.所需空间与线性长度成正比
10.下面的叙述不正确的是()
A.线性表在链式存储时,查找第i个元素的时间同i的值成正比
B.线性表在链式存储时,查找第i个元素的时间同i的值无关
C.线性表在顺序存储时,查找第i个元素的时间同i的值成正比
D.线性表在顺序存储时,查找第i个元素的时间同i的值无关
13.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()(1<
=i<
=n+1)。
A.O(0)B.O
(1)C.O(n)D.O(n2)
14.对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为()。
A.O(n)O(n)B.O(n)O
(1)C.O
(1)O(n)D.O
(1)O
(1)
15.线性表(a1,a2,…,an)以链接方式存储时,访问第i位置元素的时间复杂性为()
A.O(i)B.O
(1)C.O(n)D.O(i-1)
24.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:
()。
A.p->
next=s;
s->
next=p->
next;
B.s->
p->
C.p->
next=s->
D.p->
25.对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是()
A.head==NULLB.head→next==NULLC.head→next==headD.head!
=NULL
二、判断
1.链表中的头结点仅起到标识的作用。
2.顺序存储结构的主要缺点是不利于插入或删除操作。
3.线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。
()
4.顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。
5.对任何数据结构链式存储结构一定优于顺序存储结构。
6.顺序存储方式只能用于存储线性结构。
7.集合与线性表的区别在于是否按关键字排序。
8.所谓静态链表就是一直不发生变化的链表。
9.线性表的特点是每个元素都有一个前驱和一个后继。
10.取线性表的第i个元素的时间同i的大小有关.()
11.循环链表不是线性表.()
12.线性表只能用顺序存储结构实现。
13.线性表就是顺序存储的表。
14.为了很方便的插入和删除数据,可以使用双向链表存放数据。
15.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
16.链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。
()
三、填空
1.当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_______存储结构。
2.线性表L=(a1,a2,…,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是________。
3.设单链表的结点结构为(data,next),next为指针域,已知指针px指向单链表中data为x的结点,指针py指向data为y的新结点,若将结点y插入结点x之后,则需要执行以下语句:
_______;
______;
4.在一个长度为n的顺序表中第i个元素(1<
=n)之前插入一个元素时,需向后移动________个元素。
5.在单链表中设置头结点的作用是________。
6.对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间复杂度为________,在给定值为x的结点后插入一个新结点的时间复杂度为________。
7.根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成________和_______;
而又根据指针的连接方式,链表又可分成________和________。
10.链接存储的特点是利用________来表示数据元素之间的逻辑关系。
11.顺序存储结构是通过________表示元素之间的关系的;
链式存储结构是通过________表示元素之间的关系的。
14.已知指针p指向单链表L中的某结点,则删除其后继结点的语句是:
________
15.带头结点的双循环链表L中只有一个元素结点的条件是:
16.在单链表L中,指针p所指结点有后继结点的条件是:
__
17.带头结点的双循环链表L为空表的条件是:
________。
18.在单链表p结点之后插入s结点的操作是:
_______。
第3章栈和队列
1.对于栈操作数据的原则是()。
A.先进先出B.后进先出C.后进后出D.不分顺序
2.在作进栈运算时,应先判别栈是否(),在作退栈运算时应先判别栈是否()。
当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为()。
为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的()分别设在这片内存空间的两端,这样,当()时,才产生上溢。
①,②:
A.空B.满C.上溢D.下溢
③:
A.n-1B.nC.n+1D.n/2
④:
A.长度B.深度C.栈顶D.栈底
⑤:
A.两个栈的栈顶同时到达栈空间的中心点.
B.其中一个栈的栈顶到达栈空间的中心点.
C.两个栈的栈顶在栈空间的某一位置相遇.
D.两个栈均不空,且一个栈的栈顶到达另一个栈的栈底.
3.一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<
=n)个元素是()。
A.不确定B.n-i+1C.iD.n-i
6.有六个元素6,5,4,3,2,1的顺序进栈,问下列哪一个不是合法的出栈序列?
A.543612B.453126C.346521D.234156
7.设栈的输入序列是1,2,3,4,则()不可能是其出栈序列。
A.1,2,4,3,B.2,1,3,4,C.1,4,3,2,
D.4,3,1,2,E.3,2,1,4,
8.一个栈的输入序列为12345,则下列序列中不可能是栈的输出序列的是()。
A.23415B.54132C.23145D.15432
9.设一个栈的输入序列是1,2,3,4,5,则下列序列中,是栈的合法输出序列的是()。
A.51234B.45132C.43125D.32154
10.某堆栈的输入序列为a,b,c,d,下面的四个序列中,不可能是它的输出序列的是()。
A.a,c,b,dB.b,c,d,aC.c,d,b,aD.d,c,a,b
11.设abcdef以所给的次序进栈,若在进栈操作时,允许退栈操作,则下面得不到的序列为()。
A.fedcbaB.bcafedC.dcefbaD.cabdef
12.设有三个元素X,Y,Z顺序进栈(进的过程中允许出栈),下列得不到的出栈排列是()。
A.XYZB.YZXC.ZXYD.ZYX
13.输入序列为ABC,可以变为CBA时,经过的栈操作为()
A.push,pop,push,pop,push,popB.push,push,push,pop,pop,pop
C.push,push,pop,pop,push,popD.push,pop,push,push,pop,pop
16.栈在()中应用。
A.递归调用B.子程序调用C.表达式求值D.A,B,C
22.用链接方式存储的队列,在进行删除运算时()。
A.仅修改头指针B.仅修改尾指针C.头、尾指针都要修改D.头、尾指针可能都要修改
第四章串
1.下面关于串的的叙述中,哪一个是不正确的?
A.串是字符的有限序列B.空串是由空格构成的串
C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储
3.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为()
A.求子串B.联接C.匹配D.求串长
6.串的长度是指()
A.串中所含不同字母的个数B.串中所含字符的个数
C.串中所含不同字符的个数D.串中所含非空格字符的个数
二、填空题
1.空格串是指__
(1)__,其长度等于___
(2)__。
2.组成串的数据元素只能是________。
3.一个字符串中________称为该串的子串。
第5章数组
10.对稀疏矩阵进行压缩存储目的是()。
A.便于进行矩阵运算B.便于输入和输出C.节省存储空间D.降低运算的时间复杂度
第六章树和二叉树
4.设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1则T中的叶子数为()
A.5B.6C.7D.8
5.在下述结论中,正确的是()
①只有一个结点的二叉树的度为0;
②二叉树的度为2;
③二叉树的左右子树可任意交换;
④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A.①②③B.②③④C.②④D.①④
8.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()
A.9B.11C.15D.不确定
13.设给定权值总数有n个,其哈夫曼树的结点总数为()
A.不确定B.2nC.2n+1D.2n-1
14.有n个叶子的哈夫曼树的结点总数为()。
16.有关二叉树下列说法正确的是()
A.二叉树的度为2B.一棵二叉树的度可以小于2
C.二叉树中至少有一个结点的度为2D.二叉树中任何一个结点的度都为2
17.二叉树的第I层上最多含有结点数为()
A.2IB.2I-1-1C.2I-1D.2I-1
18.一个具有1025个结点的二叉树的高h为()
A.11B.10C.11至1025之间D.10至1024之间
24.高度为K的二叉树最大的结点数为()。
A.2kB.2k-1C.2k-1D.2k-1-1
25.一棵树高为K的完全二叉树至少有()个结点
A.2k–1B.2k-1–1C.2k-1D.2k
34.已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历是()。
A.acbedB.decabC.deabcD.cedba
35.某二叉树中序序列为A,B,C,D,E,F,G,后序序列为B,D,C,A,F,G,E则前序序列是():
A.E,G,F,A,C,D,BB.E,A,C,B,D,G,FC.E,A,G,C,F,B,DD.上面的都不对
40.下面的说法中正确的是().
(1)任何一棵二叉树的叶子结点在三种遍历中的相对次序不变;
(2)按二叉树定义,具有三个结点的二叉树共有6种。
A.
(1)
(2)B.
(1)C.
(2)D.
(1)、
(2)都错
50.引入二叉线索树的目的是()
A.加快查找结点的前驱或后继的速度B.为了能在二叉树中方便的进行插入与删除
C.为了能方便的找到双亲D.使二叉树的遍历结果唯一
63.下面几个符号串编码集合中,不是前缀编码的是()。
A.{0,10,110,1111}B.{11,10,001,101,0001}
C.{00,010,0110,1000}D.{b,c,aa,ac,aba,abb,abc}
66.从下列有关树的叙述中,选出5条正确的叙述()
A.二叉树中每个结点有两个子结点,而树无此限制,因此二叉树是树的特殊情况。
B.当K≥1时高度为K的二叉树至多有2k-1个结点。
C.用树的前序周游和中序周游可以导出树的后序周游。
D.线索二叉树的优点是便于在中序下查找前驱结点和后继结点。
E.将一棵树转换成二叉树后,根结点没有左子树。
F.一棵含有N个结点的完全二叉树,它的高度是LOG2N+1。
G.在二叉树中插入结点,该二叉树便不再是二叉树。
H.采用二叉树链表作树的存储结构,树的前序周游和其相应的二叉树的前序周游的结果是一样的。
I.哈夫曼树是带权路径最短的树,路径上权值较大的结点离根较近。
J.用一维数组存储二叉树时,总是以前序周游存储结点。
第七章图
1.图中有关路径的定义是()。
【北方交通大学2001一、24(2分)】
A.由顶点和相邻顶点序偶构成的边所形成的序列B.由不同顶点所形成的序列
C.由不同边所形成的序列D.上述定义都不是
2.设无向图的顶点个数为n,则该图最多有()条边。
A.n-1B.n(n-1)/2C.n(n+1)/2D.0E.n2
【清华大学1998一、5(2分)】【西安电子科技大1998一、6(2分)】
【北京航空航天大学1999一、7(2分)】
3.一个n个顶点的连通无向图,其边的个数至少为()。
【浙江大学1999四、4(4分)】
A.n-1B.nC.n+1D.nlogn;
4.要连通具有n个顶点的有向图,至少需要()条边。
【北京航空航天大学2000一、6(2分)】
A.n-lB.nC.n+lD.2n
5.n个结点的完全有向图含有边的数目()。
【中山大学1998二、9(2分)】
A.n*nB.n(n+1)C.n/2D.n*(n-l)
11.下列哪一种图的邻接矩阵是对称矩阵?
()
【北方交通大学2001一、11(2分)】
A.有向图B.无向图C.AOV网D.AOE网
27.一个有向无环图的拓扑排序序列()是唯一的。
【北京邮电大学2001一、3(2分)】
A.一定B.不一定
9查找
一、选择题
4.下面关于二分查找的叙述正确的是()【南京理工大学1996一、3(2分)】
A.表必须有序,表可以顺序方式存储,也可以链表方式存储C.表必须有序,而且只能从小到大排列
B.表必须有序且表中数据必须是整型,实型或字符型D.表必须有序,且表只能以顺序方式存储
5.对线性表进行二分查找时,要求线性表必须()
【燕山大学2001一、5(2分)】
A.以顺序方式存储B.以顺序方式存储,且数据元素有序C.以链接方式存储D.以链接方式存储,且数据元素有序
6.适用于折半查找的表的存储方式及元素排列要求为()【南京理工大学1997一、6(2分)】
A.链接方式存储,元素无序B.链接方式存储,元素有序
C.顺序方式存储,元素无序D.顺序方式存储,元素有序
7.用二分(对半)查找表的元素的速度比用顺序法()【南京理工大学1998一、11(2分)】
A.A.
必然快B.必然慢C.相等D.不能确定
8.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度()
A.必定快B.不一定C.在大部分情况下要快D.取决于表递增还是递减
【南京理工大学1997一、7(2分)】
28.下面关于哈希(Hash,杂凑)查找的说法正确的是()【南京理工大学1998一、10(2分)】
A.哈希函数构造的越复杂越好,因为这样随机性好,冲突小
B.除留余数法是所有哈希函数中最好的
C.不存在特别好与坏的哈希函数,要视情况而定
D.若需在哈希表中删去一个元素,不管用何种方法解决冲突都只要简单的将该元素删去即可
36.将10个元素散列到100000个单元的哈希表中,则()产生冲突。
【北京邮电大学2001一、4(2分)】
A.一定会B.一定不会C.仍可能会