数据结构模拟题及答案

数据结构模拟题及答案

一、填空题(每小题 1 分,共 20 分):

1、栈是一种 _____________的线性表,队列是一种_____________的线性表(要求填特性)。

2、___________________是数据的基本单位,可由若干个_______________ 组成,______________是数据的最小单位。

3、具有 354个结点的完全二叉树深度为 ________________,树中度为1的结点数为______________。

4、数组的运算有______________________________________ 和____________________________。

5、稀疏矩阵的压缩存储一般采用_____________________________存储方式。

6、广义表运算:tail ((( a, b ), ( c , ( d, e )))) = _______________________ 。

7、数据结构中评价算法的两个重要指标是__________ 、__________ 。

8、一个算法具有 5个特性: 、、,有零个或多个输入、有一个或多个输出。

9、已知指针p指向单链表L中的某结点,则删除其后继结点的语句是: 。

10、Prim(普里姆)算法适用于求______ 的网的最小生成树;kruskal(克鲁斯卡尔)算法适用于求 ______ 的网的最小生成树。

11、 N个顶点的连通图的生成树含有 ______ 条边。

12、顺序查找 n个元素的顺序表,若查找成功,则比较关键字的次数最多为 __ __ 次;当使用监视哨时,若查找失败,则比较关键字的次数为_ _ __ 。

13、若不考虑基数排序,则在内排序过程中,主要进行的两种基本操作是关键字的 __________ 和记录的 _________ 。

14、直接插入排序用监视哨的作用是 ___________________。

15、一个字符串中 ________________ 称为该串的子串。

16 . 广义表(a,(a,b),d,e,((i,j),k))的长度是 _ ,深度是 _ 。

17. 在二叉树中,指针p所指结点为叶子结点的条件是 ______ 。

18. 有数据WG={7,19,2,6,32,3,21,10},则所建Huffman树的树高是 _ __ ,带权路径长度WPL为 _ __ 。

19. 求图的最小生成树有两种算法,______ 算法适合于求稀疏图的最小生成树。

20. 可以唯一的标识一个记录的关键字称为__________。

二、判断题 ( 如果错误请说明理由,每题 1.5 分,共 15 分 ) :

1、度为 2的树就是二叉树。()

2、内排序中的快速排序算法,在任何情况下都可得到最快的排序效果。()

3、已知一有向图邻接矩阵 An*n,其顶点Vi的出度为()

4、冒泡排序方法和归并排序方法都是稳定的排序方法。()

5、广义表的取表尾运算,其结果通常是个表,但有时也可是个单元素值。()

6、堆排序是稳定的排序方法。()

7、不同的求最小生成树的方法最后得到的生成树是相同的。()

8、顺序存储方式的优点是存储密

度大,且插入、删除运算效率高。()

9、栈和队列的存储方式,既可以是顺序方式,又可以是链式方式。()

10、线性表的特点是每个元素都有一个前驱和一个后继。()

三、单选题(每题 1.5 分,共 30 分):

1 .对于循环队列,下列说法错误的是()

A. 可用顺序存储结构

B. 会产生下溢

C. 不会产生上溢

D.不会产生假溢

2. 若完全无向图有n 个顶点,则边的数目为():

A. n

B. n-1

C. n(n-1)/2

D. n(n-1)

3. 如右图中有向图的深度优先搜索遍历得到的结点序列是()

A.1 2 4 6 3 5

B.1 3 2 4 5 6

C.1 2 3 4 5 6

D. 1 3 2 6 4 5

4. 下列说法中符合队列性质的是()

A.先进后出

B.只能在一边插入和删除

C.只能为顺序结构

D.只能在一边插入和另一边删除

5.如图BST树成功的平均查找长度为()

A.21/7

B.18/7

C.15/6

D.21/6

6.从逻辑上可以把数据结构分为()两大类。A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构7 .在下面的程序段中,对 x的赋值语句的频度为()FOR(i=1;i<=n ;i++)

FOR (j=1;j<= n;j++ )

x=x+1;

A. O(2n) B.O(n) C.O(n 2 ) D.O(log 2 n )

8 . 以下数据结构中,()是非线性数据结构

A.树 B.字符串 C.队 D.栈

9 . 若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。

A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表

10. 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:()。

A.p->next=s;s->next=p->next; B. s->next=p->next;p->next=s;

C.p->next=s;p->next=s->next; D. p->next=s->next;p->next=s;

11. 一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是()。

A. 不确定

B. n-i+1

C. i

D. n-i

12. 循环队列存储在数组A[0..m]中,则入队时的操作为()。

A. rear=rear+1

B. rear=(rear+1) mod (m-1)

C. rear=(rear+1) mod m

D. rear=(rear+1)mod(m+1)

13. 设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为()

A.求子串 B.联接 C.匹配 D.求串长

14. 数组A[0..5,0..6]的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址是( )。

A. 1175

B. 1180

C. 1200

D. 1210

15. 对稀疏矩阵进行压缩存储目的是()。

A.便于进行矩阵运算B.便于输入和输出C.节省存储空间D.降低运算的时间复杂度

16. 设广义表L=((a,b,c)),则L

的长度和深度分别为()。

A. 1和1

B. 1和3

C. 1和2

D. 2和3

17. 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()

A.9 B.11 C.15 D.不确定

18. 已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为()。

A.CBEFDA B. FEDCBA C. CBEDFA D.不定

19. 具有12个关键字的有序表,折半查找的平均查找长度()

A. 3.5

B. 4

C. 2.5

D. 5

20. 在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并已知A的左孩子的平衡因子为0右孩子的平衡因子为1,则应作( ) 型调整以使其平衡。

A. LL

B. LR

C. RL

D. RR

四、应用题(每题 5分,共25分)

1、比较顺序存储和链式存储的优缺点。

2、简述平衡二叉树特点及其平衡调整规律方法

3、写出右图二叉树的先序、中序、后序遍历序列

4、除留余数法对给定关键字

( 10 , 8 , 17 , 16 , 4 , 7 , 25 , 18 )进行哈希制表,地址空间为 0 ~ 9 ,以除留余数法构造哈希函数,线性探查法解决冲突,画出哈希表并计算查找成功的平均查找长度。

5、写出用直接插入排序对关键字序列(53,24,45,64,51, 24 ,95,36 )进行排序的每一趟结果。

五、编程题( 10 分)

1、编写在递增有序的线性链表 La 中插入元素 x 的算法 ( 插入后仍然有序 ) 。( 5 分)

2、写出求二叉树 T 中叶子个数的算法。( 5 分)

模拟试题二

《数据结构》期末考试试题

( 120 分钟)

题号

总分

题分

20

15

30

25

10

得分

一、填空题(每小题 1 分,共 20 分):

1、分别采用堆排序,快速排序,冒泡排序和归并排序,对初态为有序的表,则最省时间的是 _____算法,最费时间的是______算法。

2、已知二叉排序树的左右子树均不为空,则 __________上所有结点的值均小于它的根结点值,__________上所有结点的值均大于它的根结点的值。

3、设有一个空栈,栈顶指针为1000H(十六进制),现有输入序列为1,2,3,4,5,经过PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH之后,输出序列是_______,而栈顶指针值是_______H。设栈为顺序栈,每个元素占4个字节。

4、循环队列用数组 A[0..m-1]存放其元素值,已知其头尾指针分别是front和rear ,则当前队列的元素个数是 _______ 。

5、在单链表 L中,指针p所指结点有后继结点的条件是:_ _ 。

6、快速排序在 _____的情况下最易发挥其长处。

7、在一个长度为n的顺序表中第i个元素(1<=i<=n)之前插入一个元素时,需向后移动________个元素。

8、下面程序段的时间复杂度为 ________。(n>1)

sum=1;

for (i=0;sum

9、当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_______存储结构。

10、在双向循环链表中 ,向p所指的结点之后插入指针f所指的结点,其操作是_______、_______、_______、________。

11、 _______ 是限定仅在表尾进行插入或删除操作的线性表。

12、循环队列的引入,目的是为了克服 _______ 。

13、两个字符串相等的充分必要条件是 _______。

14、已知数组 A[0..9,0..9]的每个元素占5个存储单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[6,8]的地址为_______。

15、上三角矩阵压缩的下标对应关系为: _______。

16、空格串的长度为 ________。

17、具有 256个结点的完全二叉树的深度为 ______ 。

18、对于一个具有 n个结点的二叉树,当它为一棵 _ _ 时具有最小高度,当它为一棵 _ _ 时,具有最大高度。

19、求图的最小生成树有两种算法,____________算法适合于求稠密图的最小生成树。

20、在 n个记录的有序顺序表中进行折半查找,最大比较次数是__________。

二、判断题 ( 如果错误请说明理由,每题 1.5 分,共 15 分 ) :

1、数据元素是数据的最小单位。 ( )

2、内排序中的快速排序算法,并不是在任何情况下都可得到最快的排序效果。()

3、数据的物理结构是指数据在计算机内的实际存储形式。 ( )

4、顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。 ( )

5、两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。()

6、若一个广义表的表尾为空表,则此广义表亦为空表。()

7、对一棵二叉树进行层次遍历时,应借助于一个栈。()

8、采用二叉链表作存储结构,树的前序遍历和其相应的二叉树的前序遍历的结果是一样的。()

9、连通分量指的是有向图中的极大连通子图。()

10、查找相同结点的效率折半查找总比顺序查找高。()

三、单选题(每题 1.5 分,共 30 分):

1 .设哈希表长为 14,哈希函数是H(key)=key%11,表中已有数据的关键字为15,38,61,84共四个,现要将关键字为49的结点加到表中,用二次探测再散列法解决冲突,则放入的位置是( )

A.8 B.3 C.5 D.9

2. 若完全无向图有n 个顶点,则边的数目为():

A. n

B. n-1

C. n(n-1)/2

D. n(n-1)

3. 如右图中有向图的广度度优先搜索遍

历得到的结点序列是()

A.1 2 4 6 3 5

B.1 3 2 4 5 6

C.1 2 3 4 6 5

D. 1 3 2 6 4 5

4. 就平均性能而言,目前最好的内排序方法是 ( )排序法。

A. 冒泡

B. 希尔插入

C. 交换

D. 快速

5.哈希查找中 k个关键字具有同一哈希值,若用线性探测法将这k个关键字对应的记录存入哈希表中,至少要进行( )次探测。

A. k B. k+1 C. k(k+1)/2 D.1+k(k+1)/2

6.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( )

A.(100,80, 90, 60, 120,110,130) B.(100,120,110,130,80, 60, 90)

C.(100,60, 80, 90, 120,110,130)

D. (100,80, 60,90, 120,130,110)

7 .在下面的程序段中,对 x的赋值语句的频度为()

FOR(i=1;i<=n ;i++)

FOR (j=1;j<= 100;j++ )

x=x+1;

A. O(2n) B.O(n) C.O(n 2 ) D.O(log 2 n )

8 . 二叉查找树的查找效率与二叉树的( )有关。

A. 高度

B. 结点的多少

C. 树型

D. 结点的位置

9 . 在有向图G的拓扑序列中,若顶点Vi在顶点Vj之前,则下列

情形不可能出现的是()。

A . G中有弧

B . G中有一条从Vi到Vj的路径

C . G中没有弧

D . G中有一条从Vj到Vi的路径

10. 下面哪一方法可以判断出一个有向图是否有环(回路):( )

A.深度优先遍历 B. 拓扑排序 C. 求最短路径 D. 广度优先遍历

11. 当一棵有 n个结点的二叉树按层次从上到下,同层次从左到右将数据存放在一维数组 A[l..n]中时,数组中第i个结点的左孩子为()

A.A[2i](2i=

12. 下面的说法中正确的是().

(1)任何一棵二叉树的叶子结点在三种遍历中的相对次序不变;

( 2)按二叉树定义,具有三个结点的二叉树共有6种。

A.(1)(2) B.(1) C.(2) D.(1)、(2)都错

13. 以下与数据的存储结构无关的术语是()。

A.循环队列 B. 链表 C. 哈希表 D. 栈

14. 在完全二叉树中,若一个结点是叶结点,则它没()。

A.左子结点 B.右子结点 C.左子结点和右子结点 D.左子结点,

右子结点和兄弟结点

15. 一棵左右子树均不空的二叉树在先序线索化后,其中空的链域的个数是:( )。

A. 0

B. 1

C. 2

D. 不确定

16. 广义表((a,b,c,d))的表尾是()。

A. d

B.(d)

C.(a,b,c,d)

D.((a,b,c,d))

17. 下列哪一种图的邻接矩阵是对称矩阵?()

A.有向图 B.无向图 C.AOV网 D.AOE网

18. 下列说法不正确的是()。

A .图的遍历是从给定的源点出发每一个顶点仅被访问一次

B .图的深度遍历不适用于有向图

C .图遍历的基本算法有两种:深度遍历和广度遍历

D .图的深度遍历

是一个递归过程

19. 下列排序方法中,哪一个是稳定的排序方法?()

A.直接插入排序 B.堆排序 C.希尔排序 D.快速排序

20. 当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( )

A.必定快 B.不一定

C. 在大部分情况下要快

D. 取决于表递增还是递减

四、应用题(每题 5分,共25分)

1、数据结构是一门研究什么内容的学科?

2、已知含有8个结点的一棵二叉树,按先序、中序、后序进行遍历后,有些结点序号不清楚如下图示。要求构造出一棵符合条件的二叉树。

先根序遍历 _ 2 3 _ 5 _ 7 8

中根序遍历 3 _ 4 1 _ 7 8 6

后根序遍历 _ 4 2 _ _ 6 5 1

3、假设用于通信的电文由字符集{a,b,c,d,e,f,g}中的字母构成。它们在电文中出现的频度分别为{0.31,0.16,0.10,0.08,0.11,,0.20,0.04},为这7个字母设计哈夫曼编码;

4、设 G=(V,E)以邻接表存储,如图所示,试画出图的深度优先和广度优先生成树。

5、用序列 (46,88,45,39,70,58,101,10,66,34)建立一个BST树,画出该树,并求在等概率情况下查找成功的平均查找长度。

五、编程题( 10 分)

编函数 void insert(char*s,char*t,int pos)将字符串t插入到字符串s中,插入位置为pos。请用c语言实现该函数。假设分配给字符串s的空间足够让字符串t插入。(说明:不得使用任何库函数)

模拟试题三

《数据结构》期末考试试题

( 120 分钟)

题号

总分

题分

20

15

30

25

10

得分

一、填空题(每小题 1 分,共 20 分):

1、对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间复杂度为________,在给定值为x的结点后插入一个新结点的时间复杂度为________。

2、链式存储的特点是利用 ________来表示数据元素之间的逻辑关系。

3、对矩阵压缩是为了 _______。

4、已知广义表LS=(a,(b,c,d),e),运用head和tail函数取出LS中原子b的运算是_______。

5、在单链表 L中,指针p所指结点没有后继结点的条件是:_ _ 。

6、设 n行n列的下三角矩阵A已压缩到一维数组B[0..n*(n+1)/2-1]中,若按行为主序存储,则A[i,j](i>=j)对应的B中存储位置为_______。

7、深度为 k的完全二叉树至少有 _______ 个结点,至多有 _______ 个结点。

8、如果结点A有3个兄弟,而且B是A的双亲,则B的度是______ 。

9、若一个二叉树的叶子结点是某子树的中序遍历序列中的最后一个结点,则它必是该子树的 ______ 序列中的最后一个结点。

10、在双向循环链表中 ,向p

所指的结点之前插入指针f所指的结点,其操作是_______、_______、_______、________。

11、 _______ 是限定仅在表尾进行插入以及在表头进行删除操作的线性表。

12、 G是一个非连通无向图,共有28条边,则该图至少有 ______ 个顶点。

13、线索二叉树的左线索指向其 ______ ,右线索指向其 ______ 。

14、在有序表A[1…20]中,按二分查找方法进行查找,查找长度为4的元素的下标从小到大依次是 __________ 。

15、执行顺序查找时,储存方式可以是 _ _ _ _,二分法查找时,要求线性表_ _ _ _ 。

16、顺序查找用监视哨的作用是 _______。

17、在单链表中设置头结点的作用是 ________。

18、对于一个具有 n个结点的二叉树,当它为一棵 _ _ 时具有最

数据结构模拟题及答案

数据结构模拟题及答案 一、填空题(每小题 1 分,共 20 分): 1、栈是一种 _____________的线性表,队列是一种_____________的线性表(要求填特性)。 2、___________________是数据的基本单位,可由若干个_______________ 组成,______________是数据的最小单位。 3、具有 354个结点的完全二叉树深度为 ________________,树中度为1的结点数为______________。 4、数组的运算有______________________________________ 和____________________________。 5、稀疏矩阵的压缩存储一般采用_____________________________存储方式。 6、广义表运算:tail ((( a, b ), ( c , ( d, e )))) = _______________________ 。 7、数据结构中评价算法的两个重要指标是__________ 、__________ 。 8、一个算法具有 5个特性: 、、,有零个或多个输入、有一个或多个输出。

9、已知指针p指向单链表L中的某结点,则删除其后继结点的语句是: 。 10、Prim(普里姆)算法适用于求______ 的网的最小生成树;kruskal(克鲁斯卡尔)算法适用于求 ______ 的网的最小生成树。 11、 N个顶点的连通图的生成树含有 ______ 条边。 12、顺序查找 n个元素的顺序表,若查找成功,则比较关键字的次数最多为 __ __ 次;当使用监视哨时,若查找失败,则比较关键字的次数为_ _ __ 。 13、若不考虑基数排序,则在内排序过程中,主要进行的两种基本操作是关键字的 __________ 和记录的 _________ 。 14、直接插入排序用监视哨的作用是 ___________________。 15、一个字符串中 ________________ 称为该串的子串。 16 . 广义表(a,(a,b),d,e,((i,j),k))的长度是 _ ,深度是 _ 。 17. 在二叉树中,指针p所指结点为叶子结点的条件是 ______ 。 18. 有数据WG={7,19,2,6,32,3,21,10},则所建Huffman树的树高是 _ __ ,带权路径长度WPL为 _ __ 。 19. 求图的最小生成树有两种算法,______ 算法适合于求稀疏图的最小生成树。

数据结构模拟试卷及参考答案

数据结构模拟试卷(一)及参考答案 一.单项选择题(本大题共15小题,每小题2分,共30分) 1.如果只想得到1024个元素组成的序列中的前5个最小元素,那么用( A )方法最快。 A、起泡排序 B、快速排序 C、堆排序 D、直接选择排序 2.算法分析的目的是(B) A.辨别数据结构的合理性 B.评价算法的效率 C.研究算法中输入与输出的关系 D.鉴别算法的可读性 3.在线性表的下列运算中,不改变数据元素之间结构关系的运算是(C)A.插入B.删除 C.定位D.排序 4.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为(D) A.3,2,6,1,4,5 B.5,6,4,2,3,1 C.1,2,5,3,4,6 D.3,4,2,1,6,5 5.设串sl=″DataStructureswithJava″,s2=″it″,则子串定位函数index(s1,s2)的值为(A) A.15 B.16 C.17 D.18 6.一个顺序存储的线性表的第一个元素的存储地址是100,每个元素的长度为4,则第4个元素的存储地址是(B)。 A. 108 B. 112 C. 116 D. 120 7.从一个具有n个结点的单链表中查找其值等于x的结点,在查找成功的情况下,平均需要比较(C)个结点。 A. n B. n/2 C. (n+1)/2 D. (n-1)/2 8.在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系(D)A.不一定相同 B.互为逆序 C.都不相同D.都相同 9.高度为5的二叉树至多有结点数为(A) A. 63 B. 32 C. 24 D.64 10.若用邻接矩阵表示一个有向图,则其中每一列包含的″1″的个数为(B)A.图中每个顶点的出度B.图中每个顶点的入度 C.图中弧的条数D.图中连通分量的数目 11.图的邻接矩阵表示法适用于表示(C) A.无向图B.有向图C.稠密图D.稀疏图12.在一个单链表中,若p所指的结点不是最后一个结点,在p之后插入s所指的结点,则执行(D)。 A. s->next=p; p->next=s B. p-next=s; s->next=p C. p=s; s->next=p->next D. s->next=p->next; p->next=s 13.下列排序算法中,其时间复杂度和记录的初始排列无关的是(A)A.直接选择排序B.插入排序 C.快速排序D.冒泡排序 14.若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,t),则在二分查找关键字b的过程中,先后进行比较的关键字依次为(B) A.f,d,b B.f,c,b C.g,c,b D.g,d,b

数据结构模拟卷(含答案)经典习题

练习题 一、单项选择题 1. 若将数据结构形式定义为二元组(K,R),其中K是数据元素的有限集合,则R是K上( ) A. 操作的有限集合 B. 映象的有限集合 C. 类型的有限集合 D. 关系的有限集合 2. 在长度为n的顺序表中删除第i个元素(1≤i≤n)时,元素移动的次数为( ) A. n-i+1 B. i C. i+1 D. n-i 3. 若不带头结点的单链表的指针为head,则该链表为空的判定条件是( ) A. head==NULL B. head->next==NULL C. head!=NULL D. head->next==head 4. 引起循环队列队头位置发生变化的操作是( ) A. 出队 B. 入队 C. 取队头元素 D. 取队尾元素 5. 若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则不.可能出现的出栈序列是( ) A. 2,4,3,1,5,6 B. 3,2,4,1,6,5 C. 4,3,2,1,5,6 D. 2,3,5,1,6,4 1

6. 字符串通常采用的两种存储方式是( ) A. 散列存储和索引存储 B. 索引存储和链式存储 C. 顺序存储和链式存储 D. 散列存储和顺序存储 7. 数据结构是() A.一种数据类型 B.数据的存储结构 C.一组性质相同的数据元素的集合 D.相互之间存在一种或多种特定关系的数据元素的集合 8. 算法分析的目的是() A.辨别数据结构的合理性 B.评价算法的效率 C.研究算法中输入与输出的关系 D.鉴别算法的可读性 9. 在线性表的下列运算中,不.改变数据元素之间结构关系的运算是 () A.插入B.删除 C.排序D.定位 10. 下列图示的顺序存储结构表示的二叉树是( ) 2

数据结构模拟试题及答案

数据结构模拟试题一 一、判断题(每小题1 分,共15分) 1.计算机程序处理的对象可分为数据和非数据两大类。 2.全体自然数按大小关系排成的序列是一个线性表。 3.在描述单向链表的结点类型时,必须首先描述数值字段,然后再描述指针字段。 4.顺序栈是一种规定了存储方法的栈。 5.树形结构中的每个结点都有一个前驱。 6.在任何一棵完全二叉树中,最多只有一个度为1的分支结点。 7.若某顶点是有向图的根,则该顶点的入度一定是零。 8.如果某图的邻接矩阵有全零的行,没有全零的列,则该图一定是有向图。 9.用一维数组表示矩阵可以节省存储空间。 10.广义表的长度与广义表中含有多少个原子元素有关。 11.分块查找的效率与线性表被分成多少块有关。 12.散列表的负载因子等于存入散列表中的结点个数。 13.在起泡排序过程中,某些元素可能会向相反的方向移动。 14.按某种逻辑关系组织起来的记录的集合称为逻辑记录。 15.索引非顺序文件的特点是索引表中的索引项不一定按关键字大小有序排列。 二、填空题(每空1分,共15分) 1.顺序表是一种_____________线性表。 2.若用Q[1]~Q[m]作为非循环顺序队列的存储空间,则对该队列最多只能执行___次插入操作。 3.栈和队列的区别在于________的不同。 4.在高度为h(h≥0)的二叉树中至少有___个结点,至多有___个结点。 5.若用二叉链表来存储具有m个叶子,n个分支结点的树,则二叉链表中有___个左指针域为空的结点,有___个右指针域 为空的结点。 6.n个顶点的有根有向图中至少有___条边,至多有___条边。 7.10行20列矩阵若用行优先顺序表来表示,则矩阵中第8行第7列元素是顺序表中第___个元素。 8.在各元素查找概率相等的情况下,用顺序查找方法从含有12个元素的有序表中查找一个元素,元素间的平均比较次数是 _____。 9.在归并两个长度为m的有序表时,排序码的比较次数至少是___次,至多是___次。 10.在高度为3的6阶B-树中,至少有___个关键字,至多有___个关键字。 三、选择题(每题2分,共30分) 1.计算机所处理的数据一般具有某种内在联系性,这是指________。 A.元素和元素之间存在某种关系B.数据和数据之间存在某种关系 C.元素内部具有某种结构D.数据项和数据项之间存在某种关系 2. 假设顺序表目前有4个元素,第i个元素放在R[i]中,1≤i≤4 。若把新插入元素存入R[6],则________。 A.会产生运行错误B.R[1]~R[6]不构成一个顺序表 C.顺序表的长度大于顺序表元素个数,会降低存储空间利用率 D.顺序表元素序号和数组元素下标不一致,会给使用带来麻烦 3. 设H是不带表头结点循环单向链表的表头指针,P是和H同类型的变量。当P指向链表最后一个结点时,_________。A.P所指结点指针字段的值为空B.P的值与H的值相等 C.P所指结点的地址与H的值相等D.P所指结点指针字段的值与H的值相等 4. 栈的定义不涉及数据的__________。 A.逻辑结构B.存储结构C.运算D.逻辑结构和存储结构 5. 设5个元素进栈的顺序是1,2,3,4,5,则出栈的顺序有可能是___________。 A.2,4,1,3,5 B.3,4,1,5,2 C.3,2,4,1,5 D.4,1,3,2,5 6. 若某棵二叉树结点的前序序列和中序序列相同,则该二叉树_________。 A.只有一个结点B.每个结点都没有左孩子C.每个结点都没有右孩子D.不存在 7.对于一棵具有n个结点,度为3的树来说,____________。 A.树的高度至多是n-3 B.树的高度至多是n-2 C.树的最低高度是┏log3(n+1)┓ D.至少在某一层上正好有3个结点 8.n个顶点的有向图如果可以进行拓扑排序,则可以断定该有向图__________。 A.含n个强连通分量B.有唯一的入度为0的顶点C.有多个出度为0的顶点 D.是一个有根有向图 9. 特殊矩阵用行优先顺序表表示,_____________ A.简化了矩阵元素之间的逻辑关系B.便于按行处理矩阵元素

十套数据结构模拟题+答案

数据结构试卷(一) 一、选择题(20分) 1.组成数据的基本单位是()。 (A) 数据项(B) 数据类型(C) 数据元素(D) 数据变量 2.设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A是()。 (A) 线性结构(B) 树型结构(C) 图型结构(D) 集合 3.数组的逻辑结构不同于下列()的逻辑结构。 (A) 线性表(B) 栈(C) 队列(D) 树 4.二叉树中第i(i≥1)层上的结点数最多有()个。 (A) 2i (B) 2i(C) 2i-1(D) 2i-1 5.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为()。 (A) p->next=p->next->next (B) p=p->next (C) p=p->next->next (D) p->next=p 6.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是()。 (A) 6 (B) 4 (C) 3 (D) 2 7.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为()。 (A) 100 (B) 40 (C) 55 (D) 80 8.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为()。 (A) 3 (B) 4 (C) 5 (D) 1 9.根据二叉树的定义可知二叉树共有()种不同的形态。 (A) 4 (B) 5 (C) 6 (D) 7 10.设有以下四种排序方法,则()的空间复杂度最大。 (A) 冒泡排序(B) 快速排序(C) 堆排序(D) 希尔排序 二、填空题(30分) 1.设顺序循环队列Q[0:m-1]的队头指针和队尾指针分别为F和R,其中队头指针F指向当前队头元 素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为F =____________;。 2.设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为___________, 在链式存储结构上实现顺序查找的平均时间复杂度为___________。 3.设一棵二叉树中有n个结点,则当用二叉链表作为其存储结构时,该二叉链表中共有________个指 针域,__________个空指针域。 4.设指针变量p指向单链表中结点A,指针变量s指向被插入的结点B,则在结点A的后面插入结点B 的操作序列为______________________________________。 5.设无向图G中有n个顶点和e条边,则其对应的邻接表中有_________个表头结点和_________个表 结点。 6.设无向图G中有n个顶点e条边,所有顶点的度数之和为m,则e和m有______关系。 7.设一棵二叉树的前序遍历序列和中序遍历序列均为ABC,则该二叉树的后序遍历序列为__________。 8.设一棵完全二叉树中有21个结点,如果按照从上到下、从左到右的顺序从1开始顺序编号,则编 号为8的双亲结点的编号是___________,编号为8的左孩子结点的编号是_____________。 9.下列程序段的功能实现子串t在主串s中位置的算法,要求在下划线处填上正确语句。 int index(char s[ ], char t[ ]) { i=j=0;

《数据结构》模拟试卷二及答案

模拟试卷二 一、单选题(每题 2 分,共20分) 1.在一个带有附加表头结点的单链表HL中,若要向表头插入一个由指针p指向的结 点,则执行(B )。 A. HL=p; p->next=HL; B. p->next=HL->next; HL->next=p; C. p->next=HL; p=HL; D. p->next=HL; HL=p; 2.若顺序存储的循环队列的QueueMaxSize=n,则该队列最多可存储(A B )个元素. A. n B.n-1 C. n+1 D.不确定 3.下述哪一条是顺序存储方式的优点?(C A ) A.存储密度大 B.插入和删除运算方便 C. 获取符合某种条件的元素方便 D.查找运算速度快 4.设有一个二维数组A[m][n],假设A[0][0]存放位置在600(10),A[3][3]存放位置在 678(10),每个元素占一个空间,问A[2][3](10)存放在什么位置?(脚注(10)表示用10进制表示,m>3) BD A.658 B.648 C.633 D.653 3m+3=78 m=25 5.下列关于二叉树遍历的叙述中,正确的是( DA ) 。 A. 若一个树叶是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序遍历最后一个结点 B.若一个点是某二叉树的前序遍历最后一个结点,则它必是该二叉树的中序遍历的最后一个结点 C.若一个结点是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序最后一个结点 D.若一个树叶是某二叉树的前序最后一个结点,则它必是该二叉树的中序遍历最后一个结点 6.k层二叉树的结点总数最多为( A ). A.2k-1 B.2K+1 C.2K-1 D. 2k-1 7.对线性表进行二分法查找,其前提条件是( ). A.线性表以链接方式存储,并且按关键码值排好序 B.线性表以顺序方式存储,并且按关键码值的检索频率排好序 C.线性表以顺序方式存储,并且按关键码值排好序 D.线性表以链接方式存储,并且按关键码值的检索频率排好序 8.对n个记录进行堆排序,所需要的辅助存储空间为 A. O(1og2n) B. O(n) C. O(1) D. O(n2) 9.对于线性表(7,34,77,25,64,49,20,14)进行散列存储时,若选用H(K) =K %7作为散列函数,则散列地址为0的元素有()个, A.1 B.2 C.3 D.4 10.下列关于数据结构的叙述中,正确的是( D ). A.数组是不同类型值的集合 B.递归算法的程序结构比迭代算法的程序结构更为精炼 C.树是一种线性结构 D.用一维数组存储一棵完全二叉树是有效的存储方法 二、填空题(每空1分,共26分) 1.数据的逻辑结构被分为_________、________、__________和___________四种。 2.一个算法的时间复杂度为(3n3+2000n log2n+90)/n2,其数量级表示为________。 3.对于一个长度为n的单链存储的队列,在表头插入元素的时间复杂度为_________,在 表尾插入元素的时间复杂度为____________。 4.假定一棵树的广义表表示为A(D(E,G),H(I,J)),则树中所含的结点数为__________ 个,树的深度为___________,树的度为_________。 5.后缀算式79 2 30 + - 4 2 / *的值为__________。中缀算式(3+X*Y)-2Y/3对

《数据结构》期末模拟试卷及参考答案【十套】

《数据结构》模拟试卷及参考答案 模拟试卷一 一、单选题(每题2 分,共20分) 1.以下数据结构中哪一个是线性结构?( ) A. 有向图 B. 队列 C. 线索二叉树 D. B树 2.在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点, 则执行如下( )语句序列。 A. p=q; p->next=q; B. p->next=q; q->next=p; C. p->next=q->next; p=q; D. q->next=p->next; p->next=q; 3.以下哪一个不是队列的基本运算?() A. 在队列第i个元素之后插入一个元素 B. 从队头删除一个元素 C. 判断一个队列是否为空 D.读取队头元素的值 4.字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成 ( )个不同的字符串? A.14 B.5 C.6 D.8 5.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。 以下6-8题基于图1。 6.该二叉树结点的前序遍历的序列为( )。 A.E、G、F、A、C、D、B B.E、A、G、C、F、B、D C.E、A、C、B、D、G、F D.E、G、A、C、D、F、B 7.该二叉树结点的中序遍历的序列为( )。 A. A、B、C、D、E、G、F B. E、A、G、C、F、B、D C. E、A、C、B、D、G、F E.B、D、C、A、F、G、E 8.该二叉树的按层遍历的序列为( )。 A.E、G、F、A、C、D、B B. E、A、C、B、D、G、F C. E、A、G、C、F、B、D D. E、G、A、C、D、F、B 9.下面关于图的存储的叙述中正确的是( )。 A.用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关

数据结构模拟题及答案

数据结构试题(A05) 一、选择题(共10小题,每小题1分,共10分) 1.下面程序段的时间复杂度是( ) m=0; for(i=1;i<=n;i++) for(j=1;j< = n;j++) m=m+1; A. O(n2) B.O(m + n + 1) C.O(m + n) D. O(n) 2.在单链表中,指针p指向元素为x的结点,实现〃删除x的后继〃的语句是() A.p=p->next; B.p->next=p->next->next; C.p->next=p; D.p=p->next->next; 3.在长度为n的顺序表,当在任何位置上删除一个元素的概率相等时,删除一个 元素需要移动的元素的平均个数为( ) A.n/2 B.(n-1)/ 2 C.(n + 1)/2 D.(n+2)/2 4.一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是 () A. 2 3 4 1 5 B. 5 4 1 3 2 C. 2 3 1 4 5 D. 1 5 4 3 2 6.设循环队列中数组的下标范围是1~n,其头尾指针分别为f和「,则其元素个数为( ) A.r-f C. (r-f) mod n + 1 B.r-f+1 D. (r-f+n) mod n 7.以下序列不是堆的是( )。

A.( 100 ,85,98,77,80,60,82,40,20,10,66) B.( 100 ,98,85,82,80,77,66,60,40,20,10) C.( 100 ,85,40,77,80,60,66,98,82,10,20 ) D.( 10,20,40,60,66,77,80,82,85,98, 100 ) 8 .在有序表( 12,24,36,48,60,72,84)中折半查找关键字72时所需进行的关键字比较次数为( )。 A. 3 B. 4 C. 5 D. 2 9.在待排序的元素序列基本有序的前提下,效率最高的排序方法是( )。 A.选择排序 B.冒泡排序 C.快速排序口.插入排序 二、填空题(共20小题,每小题1分,共20分) 1、在单链表中,删除指针P所指结点的后继结点的语句 是。 2、线性表的两种存储结构分别是和。 3、己知完全二叉树的第4层有5个结点,则其叶子结点数是。 4、将下三角矩阵A[1….8,1….8]的下三角部分逐行地存储到起始地址为1000 的内存单元中,已知每个元素占4个单元,则A[7 , 5]的地址是。 5、有n个结点的强连通有向图G至少有条弧。 7、在有序表A[1….20]中,采用二分查找算法查找元素值等于A[12]的元素,所比较的元素的下标依次为。 8、直接选择排序算法所执行的元素交换次数最多为。 9、在带有头结点的单链表L中,第一个元素结点的指针

数据结构练习题(含答案)

数据结构练习题 习题1 绪论 1.1 单项选择题 1. 数据结构是一门研究非数值计算的程序设计问题中,数据元素的①、数据信息在计算机中的②以及一组相关的运算等的课程。 ① A.操作对象B.计算方法C.逻辑结构D.数据映象 ② A.存储结构B.关系C.运算D.算法 2. 数据结构DS(Data Struct)可以被形式地定义为DS=(D,R),其中D是①的有限集合,R是D上的②有限集合。 ① A.算法B.数据元素C.数据操作D.数据对象 ② A.操作B.映象C.存储D.关系 3. 在数据结构中,从逻辑上可以把数据结构分成。 A.动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构D.内部结构和外部结构 4. 算法分析的目的是①,算法分析的两个主要方面是②。 ① A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系 C. 分析算法的效率以求改进 D. 分析算法的易懂性和文档性 ② A. 空间复杂性和时间复杂性 B. 正确性和简明性 C. 可读性和文档性 D. 数据复杂性和程序复杂性 5. 计算机算法指的是①,它必具备输入、输出和②等五个特性。 ① A. 计算方法 B. 排序方法 C. 解决问题的有限运算序列 D. 调度方法 ② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性 C. 确定性、有穷性和稳定性 D. 易读性、稳定性和安全性 1.2 填空题(将正确的答案填在相应的空中) 1. 数据逻辑结构包括、和三种类型,树形结构和图形结构合称为。 2. 在线性结构中,第一个结点前驱结点,其余每个结点有且只有个前驱结点;最后一个结点后续结点,其余每个结点有且只有个后续结点。 3. 在树形结构中,树根结点没有结点,其余每个结点有且只有个直接前驱结点,叶子结点没有结点,其余每个结点的直接后续结点可以。 4. 在图形结构中,每个结点的前驱结点数和后续结点数可以。 5. 线性结构中元素之间存在关系,树形结构中元素之间存在关系,图形结构中元素之间存在关系。 6. 算法的五个重要特性是__ __ , __ __ , ___ _ , __ __ , _ ___。 7. 分析下面算法(程序段),给出最大语句频度,该算法的时间复杂度是__ __。 for (i=0;i

数据结构模拟试题及答案3

《数据结构》模拟试题3 一、单项选择题 1.带头结点的单向链表为空的判断条件是()(设头指针为head)。 A.head = =NULL B.head!=NULL C.head->next= =head D.head->next= =NULL 2.非空的单向循环链表的尾结点满足()(设头指针为head,指针p指向尾结点)。 A.p->next = =NULL B.p= =NULL C.p= =head D.p->next= =head 3.算法的时间复杂度与()有关。 A.所使用的计算机 B.计算机的操作系统 C.算法本身 D.数据结构 4.设有一个长度为n的顺序表,要删除第i个元素需移动元素的个数为()。 A.n-i+1 B.n-i C.n-i-1 D.i 5.在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。 A.p=s→next B.p→next=s→next; C.s→next=p→next; p→next=s; D.p→next= s; s→next= p→next 6.在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为()。 A.r=f→next; B.r=r→next; C.f=f→next; D.f=r→next; 7.元素1,3,5,7按顺序依次进栈,则该栈的不可能输出序列是()(进栈出栈可以交替进行)。 A.7,5,3,1 B.7,5,1,3 C.3,1,7,5 D.1,3,5,7 8.在C语言中,顺序存储长度为3的字符串,需要占用()个字节。 A.4 B.3 C.6 D.12 9.在一棵二叉树中,若编号为i的结点存在左孩子,则左孩子的顺序编号为()。 A.2i B.2i-1 C.2i+1 D.2i+2 10.一棵具有35个结点的完全二叉树,最后一层有()个结点。 A.4 B.6 C.16 D.8 11.在一个无向图中,所有顶点的度数之和等于边数的()倍。 A.3 B.2 C.2.5 D.1.5 12.已知如图3所示的一个图,若从顶点V1出发,按广度优先法进行遍历,则可能得到的一种顶点序列为()。 A.V1V2V4V8V5V3V6V7 B.V1V2V4V5V8V3V6V7 C.V1V2V4V8V3V5V6V7 D.V1V3V6V7V2V4V5V8

数据结构模拟试题附答案

数据结构试卷(1) 一、选择题(30分) 1.设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为()。 (A) 20 (B) 30 (C) 40 (D) 45 2.执行一趟快速排序能够得到的序列是()。 (A) [41,12,34,45,27] 55 [72,63] (B) [45,34,12,41] 55 [72,63,27] (C) [63,12,34,45,27] 55 [41,72] (D) [12,27,45,41] 55 [34,63,72] 3.设一条单链表的头指针变量为head且该链表没有头结点,则其判空条件是()。 (A) head==0 (B) head->next==0 (C) head->next==head (D) head!=0 4.时间复杂度不受数据初始状态影响而恒为O(nlog 2 n)的是()。 (A) 堆排序(B) 冒泡排序(C) 希尔排序(D) 快速排序 5.设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是()。 (A) 空或只有一个结点(B) 高度等于其结点数 (C) 任一结点无左孩子(D) 任一结点无右孩子 6.一趟排序结束后不一定能够选出一个元素放在其最终位置上的是()。 (A) 堆排序(B) 冒泡排序(C) 快速排序(D) 希尔排序 7.设某棵三叉树中有40个结点,则该三叉树的最小高度为()。 (A) 3 (B) 4 (C) 5 (D) 6 8.顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为()。 (A) O(n) (B) O(n2) (C) O(n1/2) (D) O(1og 2 n) 9.二路归并排序的时间复杂度为()。 (A) O(n) (B) O(n2) (C) O(nlog 2n) (D) O(1og 2 n) 10. 深度为k的完全二叉树中最少有()个结点。 (A) 2k-1-1 (B) 2k-1(C) 2k-1+1 (D) 2k-1 11.设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针, 指针变量s指向将要入队列的结点X,则入队列的操作序列为()。 (A) front->next=s;front=s;(B) s->next=rear;rear=s; (C) rear->next=s;rear=s;(D) s->next=front;front=s; 12.设某无向图中有n个顶点e条边,则建立该图邻接表的时间复杂度为()。 (A) O(n+e) (B) O(n2) (C) O(ne) (D) O(n3) 13.设某哈夫曼树中有199个结点,则该哈夫曼树中有()个叶子结点。 (A) 99 (B) 100 (C) 101 (D) 102 14.设二叉排序树上有n个结点,则在二叉排序树上查找结点的平均时间复杂度为()。 (A) O(n) (B) O(n2) (C) O(nlog 2n) (D) O(1og 2 n) 15.设用邻接矩阵A表示有向图G的存储结构,则有向图G中顶点i的入度为()。 (A) 第i行非0元素的个数之和(B) 第i列非0元素的个数之和 (C) 第i行0元素的个数之和(D) 第i列0元素的个数之和 二、判断题(20分)

数据结构试题及答案(十套)

数据结构试题及答案(十套)数据结构试题及答案(十套) 一、选择题 1. 数据结构是指()。 A. 存储数据的方式 B. 数据的逻辑结构和物理结构 C. 数据的存储结构和存储方式 D. 数据的逻辑结构、存储结构和存储方式 答案:D 2. 在数据结构中,线性表的存储方式包括()。 A. 顺序存储和链式存储 B. 数组存储和链表存储 C. 顺序存储、链表存储和索引存储 D. 顺序存储、链表存储和树形存储 答案:A 3. 栈是一种()的数据结构。 A. 先进先出

B. 先进后出 C. 后进先出 D. 后进后出 答案:C 4. 队列是一种()的数据结构。 A. 先进先出 B. 先进后出 C. 后进先出 D. 后进后出 答案:A 5. 二叉树中,度为0的节点称为()。 A. 叶子节点 B. 根节点 C. 中间节点 D. 子节点 答案:A 6. 以下哪个排序算法是稳定的?

A. 快速排序 B. 选择排序 C. 插入排序 D. 希尔排序 答案:C 7. 图中表示顶点之间关系的边的数量称为()。 A. 顶点度数 B. 边数 C. 路径数 D. 网络 答案:B 8. 哈希表通过()来实现高效的查找操作。 A. 散列函数 B. 排序算法 C. 遍历操作 D. 顺序存储 答案:A

9. 平衡二叉树是一种具有左右子树高度差不超过()的二叉树。 A. 0 B. 1 C. 2 D. 3 答案:B 10. 在链表中,删除节点的操作时间复杂度是()。 A. O(1) B. O(logn) C. O(n) D. O(nlogn) 答案:A 二、填空题 1. 在顺序存储结构中,元素之间的逻辑关系由()表示。 答案:下标 2. 二叉查找树的中序遍历结果是一个()序列。 答案:递增 3. 哈希表通过散列函数将关键字映射到()上。

数据结构模拟题及答案

数据结构试题(A05) 一、选择题(共10小题,每小题1分,共10分) 1.下面程序段的时间复杂度是( ) m=0; for(i=1;i<=n;i++) for(j=1;j<=n;j++) m=m+1; A. O(n2) B.O(m+n+1) C.O(m+n) D. O(n) 2.在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是( ) A.p=p->next; B.p->next=p->next->next; C.p->next=p; D.p=p->next->next; 3.在长度为n的顺序表,当在任何位置上删除一个元素的概率相等时,删除一个元素需要移动的元素的平均个数为( ) A.n/2 B.(n-1)/ 2 C.(n+1)/2 D.(n+2)/2 4.一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( ) A. 2 3 4 1 5 B. 5 4 1 3 2 C. 2 3 1 4 5 D. 1 5 4 3 2 6.设循环队列中数组的下标范围是1~n,其头尾指针分别为f和r,则其元素个数为( ) A. r-f B. r-f+1 C. (r-f) mod n+1 D. (r-f+n) mod n 7.以下序列不是堆的是( )。

A.(100,85,98,77,80,60,82,40,20,10,66) B.(100,98,85,82,80,77,66,60,40,20,10) C.(100,85,40,77,80,60,66,98,82,10,20) D.(10,20,40,60,66,77,80,82,85,98,100) 8.在有序表(12,24,36,48,60,72,84)中折半查找关键字72时所需进行的关键字比较次数为( )。 A. 3 B. 4 C. 5 D. 2 9.在待排序的元素序列基本有序的前提下,效率最高的排序方法是( )。 A.选择排序 B.冒泡排序 C.快速排序 D.插入排序 二、填空题(共20小题,每小题1分,共20分) 1、在单链表中,删除指针P所指结点的后继结点的语句是。 2、线性表的两种存储结构分别是和。 3、己知完全二叉树的第4层有5个结点,则其叶子结点数是。 4、将下三角矩阵A[1….8,1….8]的下三角部分逐行地存储到起始地址为1000的内存单元中,已知每个元素占4个单元,则A[7,5]的地址是。 5、有n个结点的强连通有向图G至少有条弧。 7、在有序表A[1….20]中,采用二分查找算法查找元素值等于A[12]的元素,所比较的元素的下标依次为。

数据结构试题及答案(十套)

一、单选题(每题 2 分,共20分) 1.对一个算法的评价,不包括如下(B )方面的内容。 A.健壮性和可读性B.并行性C.正确性D.时空复杂度 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点, 则执行( )。 A. p->next=HL->next; HL->next=p; B. p->next=HL; HL=p; C. p->next=HL; p=HL; D. HL=p; p->next=HL; 3.对线性表,在下列哪种情况下应当采用链表表示?( ) A.经常需要随机地存取元素 B.经常需要进行插入和删除操作 C.表中元素需要占据一片连续的存储空间 D.表中元素的个数不变 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是 ( C ) A. 2 3 1 B. 3 2 1 C. 3 1 2 D. 1 2 3 5.AOV网是一种()。 A.有向图B.无向图C.无向无环图D.有向无环图 6.采用开放定址法处理散列表的冲突时,其平均查找长度()。 A.低于链接法处理冲突 B. 高于链接法处理冲突 C.与链接法处理冲突相同D.高于二分查找 7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。 A.值B.函数C.指针D.引用 8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有 相同的()。 A.行号B.列号C.元素值D.非零元素个数 9.快速排序在最坏情况下的时间复杂度为()。 A.O(log2n) B.O(nlog2n)C.0(n) D.0(n2) 10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。 A. O(n) B. O(1) C. O(log2n) D. O(n2) 二、运算题(每题 6 分,共24分) 1.数据结构是指数据及其相互之间的______________。当结点之间存在M对N (M:N)的联系时,称这种结构为_____________________。 2.队列的插入操作是在队列的___尾______进行,删除操作是在队列的____首______进行。 3.当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件是___top==0___(要超出才为满)_______________。 4.对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为_________,在表尾插入元素的时间复杂度为____________。

大学_算法与数据结构模拟试题及参考答案

算法与数据结构模拟试题及参考答案 算法与数据结构模拟试题一、单选题 1. 数据结构针对数据对象,要研究其___________,逻辑结构及其操作。 2. 算法设计要求达到以下目标:___________、可读性、健壮性、高效率与低存储要求。 3. 栈的特点是___________,因此栈又称为___________表。 4. 队列的特点是___________,因此队列又称为___________表。 5. 假定二叉树的数据域为data, 左右子树的指针域分别是lChild和rChild,指向根结点的'指针为t, 完善以下二叉树前序遍历的算法。Preorder(t) { ___________; ___________; if (t==NULL) return; Printf(t-data); } 6. 冒泡排序算法在最好情况下,比较次数是___________。 7. 针对插入与删除操作,顺序文件效率不高。如果需要在顺序文件上实现插入与删除操作,解决问题的基本方法是___________。 8. 下面的算法是从数组a中删除第i个元素起的k个元素。试补充完整程序。 /__ ArraySize 指数据的尺寸,last是数据中已有的元素个数.__/ Algorithm delK(int a[ArraySize], int i, int k, int last) If (!(( K = 0) (1 = i +k i +k = last ) ( 0 = last last = arrary)) { /__ 判断参数合法性 __/ Printf(“Error !”); Else For (count = 1; count = k; count++) { /__ 删除一个元素 __/ For(j = last; j= i +1; j--) ___________; Last = last – 1; }}

数据结构模拟习题1 及其答案

模拟试题1 一、选择题(20分) 1. 组成数据的基本单位是( )。 (A) 数据项(B)数据类型(C)数据元素(D)数据变量 2. 线性表的链接实现有利于( )运算。 (A) 插入(B)读表元(C)查找(D)定位 3. 串的逻辑结构与( )的逻辑结构不同。 (A) 线性表(B)栈(C)队列(D)树 4. 二叉树第i(i≥1)层最多有( )个结点。 (A) 2i(B)2i (C) 2i-1(D) 2i-1 5. 设单链表中p指向结点A,若要删除A后结点(若存在),则需要修改p的操作为( ) (A) p.Next = p.Next.Next (B)p=p.Next (C)p=p.Next.Next (D)p.Next=p 6. 设一数列的输入顺序为1,2,3,4,5,6,通过栈操作不可能排成的输出序列为( ) (A) 3,2,5,6,4,1 (B) 1,5,4,6,2,3 (C) 2,4,3,5,1,6 (D) 4,5,3,6,2,1 7. 设字符串S1=’ABCDEFG’,S2=’PQRST’,则运算S=CONCA T(SUB(S1,2,LENGTH(S2)),SUB(S1,LENGTH(S2),2))的结果为( ) (A) ‘BCQR’(B) ‘BCDEF’(C) ’BCDEFG’(D) ‘BCDEFEF’ 8. 有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占1个地址空间,则a85地址为( ) (A)13 (B) 33 (C) 18 (D) 40 9. 如果结点A有3个兄弟,而且B为A的双亲,则B的度为( ) (A) 3 (B) 4 (C) 5 (D) 1 10. 线索化二叉树中某结点D没有左孩子的必要条件是( ) (A) D.Lchild=null (B) D.ltag=1 (C) D.Rchild=null (D) D.ltag=0 二、填空题(20分) 1. 对于一个以顺序实现的循环队列Q[0..m_1],队头、队尾指针分别为f,r,其判空的条件是 ,判满的条件是。 2. 循环链表的主要优点是。 3. 给定一个整数集合{3,5,6,9,12},画出其对应的一棵Huffman树。 4 双向循环链表中,在p所指的结点之后插入f所指的结点,其操作为。 5. 下列为朴素的模式匹配算法,请在算法的处填入正确的子句。 public int insert(string s, string t) { int i = 0; int j = 0; while (i < s.Length && j < t.Length) {

(完整版)数据结构试题及答案

数据结构试卷(一)王彬 一、单选题(每题2 分,共20分) 1.栈和队列的共同特点是( )。 A.只允许在端点处插入和删除元素 B.都是先进后出 C.都是先进先出 D.没有共同点 2.用链接方式存储的队列,在进行插入运算时( ). A. 仅修改头指针 B. 头、尾指针都要修改 C. 仅修改尾指针 D.头、尾指针可能都要修改 3.以下数据结构中哪一个是非线性结构?( ) A. 队列 B. 栈 C. 线性表 D. 二叉树 4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在 676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。c A.688 B.678 C.692 D.696 5.树最适合用来表示( )。 A.有序数据元素 B.无序数据元素 C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据 6.二叉树的第k层的结点数最多为( d ). A.2k-1 B.2K+1 C.2K-1 D. 2k-1 7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二 分查找,则查找A[3]的比较序列的下标依次为( ) A. 1,2,3 B. 9,5,2,3 C. 9,5,3 D. 9,4,2,3 8.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为 A. O(1) B. O(n) C. O(1og2n) D. O(n2) 9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K) =K %9作为散列函数,则散列地址为1的元素有( c d)个, A.1 B.2 C.3 D.4 10.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。 A.5 B.6 C.7 D.8 二、填空题(每空1分,共26分) 1.通常从四个方面评价算法的质量:____ ____、________、________和_______。 2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。 3.假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J)),则树中所含的结点数 为__________个,树的深度为_________,树的度为________。 4.后缀算式9 2 3 +- 10 2 / -的值为________。中缀算式(3+4X)-2Y/3对应的后缀算 式为______3 4X* + 2Y* / -_________________________。 5.若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指 针。在这种存储结构中,n个结点的二叉树共有_______个指针域,其中有________个指针域是存放了地址,有______________个指针是空指针。 6.对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点 分别有______个和______个。 7.AOV网是一种___________________的图。 8.在一个具有n个顶点的无向完全图中,包含有_____条边,在一个具有n个顶点的有向 完全图中,包含有_____条边。 9.假定一个线性表为(12,23,74,55,63,40),若按Key % 4条件进行划分,使得同一余数的元 素成为一个子表,则得到的四个子表分别为__________________________、______________、_____________________和_____________________。

相关主题
相关文档
最新文档