2023年数据结构试题集 10套题并附带答案

发布 2019-08-30 18:40:20 阅读 1389

数据结构模拟题。

及参***。

数据结构试卷(一)

一、单选题。

1、 栈和队列的共同特点是( a )。

a、只允许在端点处插入和删除元素 b、都是先进后出 c、都是先进先出 d、没有共同点

2、 用无头结点链接方式存储的队列,在进行插入运算时( d ).

a. 仅修改头指针 b、 头、尾指针都要修改 c. 仅修改尾指针 d、头、尾指针可能都要修改。

3、 以下数据结构中哪一个是非线性结构?( d )

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、688b、678 c、692d、696

5、树最适合用来表示( c )。

a.有序数据元素 b.无序数据元素c.元素之间具有分支层次关系的数据 d.元素之间无联系的数据。

6、 二叉树的第k层的结点数最多为( d ).

a、2k-1 b、2k+1c、2k-1 +1 d、 2k-1

7、若有18个元素的有序表存放在一维数组a[19]中,第一个元素放a[1]中,现进行二分查找,则查找a[3]的比较序列的下标依次为( d )

a、 1,2,3 b、 9,5,2,3 c、 9,5,3d、9,4,2,3

8、 对n个记录的文件进行快速排序,所需要的辅助存储空间大致为( c )

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的元素有( d )个,a、1b、2c、3d、4

10、设有6个结点的无向图,该图至少应有( a )条边才能确保是一个连通图。

a、5b、6c、7d、8

二、填空题。

1. 通常从四个方面评价算法的质量:(正确性)、(可读性)、(健壮性)和(效率与低存储量)。

2. 一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为( o(n) )

3. 假定一棵树的广义表表示为a(c,d(e,f,g),h(i,j)),则树中所含的结点数为( 9 )个,树的深度为( 3 ),树的度为( 3 )。

4. 后缀算式9 2 3 + 10 2 / 的值为(-1)。中缀算式(3+4x)-2y/3对应的后缀算式为(3 4 x * 2 y * 3 /

5. 若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指针。在这种存储结构中,n个结点的二叉树共有(2n )个指针域,其中有(n-1)个指针域是存放了地址,有( n+1)个指针是空指针。

6. 对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点分别有(e)个和(2e)个。

7. aov网是一种(有向无回路)的图。

8. 在一个具有n个顶点的无向完全图中,包含有( n(n-1)/2)条边,在一个具有n个顶点的有向完全图中,包含有( n(n-1))条边。

9. 假定一个线性表为(12,23,74,55,63,40),若按key % 4条件进行划分,使得同一余数的元素成为一个子表,则得到的四个子表分别为 (12,40)、(74)、(23,55,63)和( )

10. 向一棵b_树插入元素的过程中,若最终引起树根结点的**,则新树比原树的高度(增加1)。

11. 在堆排序的过程中,对任一分支结点进行筛选运算的时间复杂度为( o(log2n)),整个堆排序过程的时间复杂度为( o(nlog2n))。

12. 在快速排序、堆排序、归并排序中,(归并)排序是稳定的。

三、计算题。

1. 在如下数组a中链接存储了一个线性表,表头指针为a[0].next,试写出该线性表。

a 0 1 2 3 4 5 6 7

参***:线性表为:(78,50,40,60,34,90)

2、请画出下图的邻接矩阵和邻接表。

参***:邻接矩阵:

邻接表:3、已知一个图的顶点集v和边集e分别为:v=;

e=;用克鲁斯卡尔算法得到最小生成树,试写出在最小生成树中依次得到的各条边。

参***:用克鲁斯卡尔算法得到的最小生成树为:

5、 画出向小根堆中加入数据4, 2, 5, 8, 3时,每加入一个数据后堆的变化。

参***:

四、阅读算法。

1、linklist mynote(linklist l)

l是不带头结点的单链表的头指针。

if(l&&l->next)

该算法的功能是:

参***:递归地后序遍历链式存储的二叉树。

五、算法填空。

二叉搜索树的查找——递归算法:

bool find(btreenode* bst,elemtype& item)

if (bst==null)

return false; /查找失败。

else else if(itemdata)

return find( bst->left ,item);

else return find( bst->right ,item);

if六、编写算法。

统计出单链表hl中结点的值等于给定值x的结点数。

int countx(lnode* hl,elemtype x)

参***:int countx(lnode* hl,elemtype x)

//countx

数据结构试卷(二)

一、选择题。

1.下面关于线性表的叙述错误的是( d )。

a、 线性表采用顺序存储必须占用一片连续的存储空间

b、 线性表采用链式存储不必占用一片连续的存储空间。

c、 线性表采用链式存储便于插入和删除操作的实现。

d、 线性表采用顺序存储便于插入和删除操作的实现。

2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有( b )个空指针域。

a、 2m-1 b、 2m c、 2m+1 d、 4m

3.设顺序循环队列q[0:m-1]的头指针和尾指针分别为f和r,头指针f总是指向队头元素的前一位置,尾指针r总是指向队尾元素的当前位置,则该循环队列中的元素个数为( c )。

a、 r-f b、 f-r c、(r-f+m)%m d、(f-r+m)%m

4.设某棵二叉树的中序遍历序列为abcd,前序遍历序列为cabd,则后序遍历该二叉树得到序列为(a)。

a、 badc b、 bcda c、 cdab d、cbda

5.设某完全无向图中有n个顶点,则该完全无向图中有( a )条边。

a、 n(n-1)/2 b、 n(n-1) c、 n2 d、 n2-1

6.设某棵二叉树中有2000个结点,则该二叉树的最小高度为( c )。

a、 9 b、 10 c、 11 d、 12

7.设某有向图中有n个顶点,则该有向图对应的邻接表中有(b )个表头结点。

a、 n-1 b、 n c、n+1 d、2n-1

8.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为(c)。

a、 2,3,5,8,6 b、 3,2,5,8,6

c、 3,2,5,6,8 d、 2,3,6,5,8

二、填空题。

1. 为了能有效地应用hash查找技术,必须解决的两个问题是(构造一个好的hash函数)和(确定解决冲突的方法)。

2. 下面程序段的功能实现数据x进栈,要求在括号处填上正确的语句。

数据结构试题 A卷2019 答案

2012 2013学年第一学期期末考试。数据结构 试题a答案。一 选择 每空2分,共30分 bcdbd bccbb cabbc 二 1.答 1 应选择链式存储结构。它可动态申请内存空间,不受表长度 即表中元素个数 的影响,插入 删除时间复杂度为o 1 2 应选择顺序存储结构。顺序表可随机存取,时间复...

2023年数据结构课程设计心得体会范例

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!本文为word格式,后可方便编辑和修改!数据结构可以说是计算机里一门基础课程,据结构可以说是计算机里一门基础课程,但我觉得我们一低计算机里一门基础课程定要把基础学扎实,定要把基础学扎实,然而这次短短的上机帮我又...

2023年电大数据结构习题复习

习题一 p12 include void main include void main 习题二 p47 2 5 p50 习题2 5 include include void main double a,r cout cin a r 1.0 2 a sqrt 10 2 sqrt 5 5 cout 2 ...