11数据结构与算法

发布 2021-05-02 17:13:28 阅读 3659

数据结构和算法试题。

一、单项选择题(本大题共25小题,每小题2分,共50分)

1.下列四种基本的逻辑结构中,数据元素之间关系属于一对一的是 (b )

a 集合 b 线性结构 c 树形结构 d 图状结构。

2. 数据结构ds(data struct)可以被形式地定义为ds=(d,r),其中d是 b 的有限集合,r是d上的 d 有限集合。

① a.算法 b.数据元素 c.数据操作 d.数据对象。

② a.操作 b.映象 c.存储 d.关系。

3.求单链表中当前结点的后继和前驱的时间复杂度分别是( b )

a.o(n)和o(1)b.o(1)和o(1)

c.o(1)和o(n)d.o(n)和o(n)

4.非空的单循环链表的头指针为head,尾指针为rear,则下列条件成立的是( a )

a.rear->next= =headb.rear->next->next= =head

c.head->next= =reard.head->next->next= =rear

5.计算机算法指的是解决问题的步骤序列,它必须具备( b ) 这三个主要特性。

a.可行性、正确性、可读性。

b.可行性、确定性、有穷性。

c.确定性、有穷性、稳定性。

d.易读性、健壮性、安全性。

6.在一个连通网的所有生成树中,各边的代价之和最小的那棵生成树称为该连通网的(a )

a.最小代价生成树b.哈夫曼树。

c.关键路径 d.最短路径。

7.一个栈的输入序列是12345,则栈的不可能的输出序列是( c )

a.54321b.45321

c.43512d.12345

8.下面关于算法说法错误的是(c )。

a.算法最终必须由计算机程序实现。

b.为解决某问题的算法同为该问题编写的程序含义是相同的。

c.算法的可行性是指指令不能有二义性。

d.以上几个都是错误的。

9.除第一层外,满二叉树中每一层结点个数是上一层结点个数的( c )

a.1/2倍b.1倍。

c.2倍 d.3倍。

10.对于含n个顶点和e条边的图,采用邻接矩阵表示的空间复杂度为( d )

a.o(n)b.o(e)

c.o(n+e)d.o(n*n)

11.如果求一个连通图中以某个顶点为根的高度最小的生成树,应采用( b )

a.深度优先搜索算法 b.广度优先搜索算法。

c.求最小生成树的prim算法;d.拓扑排序算法

12.连续存储设计时,存储单元的地址(a )。

a.一定连续 b.一定不连续 c.不一定连续 d.部分连续,部分不连续。

13.下述哪一条是顺序存储结构的优点?( a )

a.存储密度大 b.插入运算方便。

c.删除运算方便 d.可方便地用于各种逻辑结构的存储表示。

14.算法的时间复杂度取决于( c )。

a.问题的规模 b.待处理数据的初态c.a和b d.无。

15.栈和队列的共同点是__d__。

a. 都是先进后出 b. 都是先进先出。

c. 只允许在端点处插入和删除元素 d. 都是线性结构。

16.对于图的遍历,通常有两种方法,( d )类似于树的层次遍历,( c )类似于树的先根遍历。

a.层次遍历 b.邻接遍历。

c.深度优先遍历d.广度优先遍历。

17 已知二叉树结点的前序序列和中序序列分别为: 前序序列: 18 14 7 3 11 22 35 27, 中序序列:

3 7 11 14 18 22 27 35 , 二叉树的后序序列为( d )

a.3 7 11 14 27 35 22 18 b.3 7 11 27 14 35 22 18

c.3 7 11 27 14 22 35 18 d. 3 11 7 14 27 35 22 18

18 由n个结点构成的所有二叉树中路径长度最短的二叉树是(a )

a.最小代价生成树b.哈夫曼树。

c.二叉排序树 d.最小带权树

19 一棵深度为4的二叉树的第3层最多有( b )个结点,整个二叉树最多有( d )个结点。

a.3 b.4

c.16 d.15

20 一棵二叉树,叶子结点的数目是6,其度数为2的结点数为( c )

a.3 b.4

c.5 d.6

21、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为(c )。1≤i≤n+1)

a.o(0) b.o(1) d.o(n2)

22. 数据元素是数据的基本单位,其内 ( c) 数据项。

a 只能包括一个 b 不包含。

c 可以包含多个 d 必须包含多个值的链点。

23.设无向图的顶点个数为n,则该图最多有( b )条边。

a.n-1 b.n(n-1)/2 c. n(n+1)/2 d.0

24、对二叉排序树进行( a )遍历,最容易找到该二叉树的根结点排序序列。

a. 前序 b.中序 c.后序 d.按层次

25、算法的时间复杂度取决于 d

a. 问题的规模b .待处理数据的初态

c. 待处理数据的顺序 d. a 和 b

二、填空题(本大题共10小题,每小题1.5分,共15分)

请在每小题的空格中填上正确答案。错填、不填均无分。

1.抽象数据类型通常可分为 __数据元素关系基本操作___组成。

2.队列是按___先进先出___的原则进行的。

3.图的遍历方式有 __深度优先遍历和 __广度优先遍历两种方式。

4.图的存储表示方式有__邻接矩阵邻接表___邻接多重表___和___十字链表___四种。

5.具有n个结点的完全二叉树的深度为___log 2 (n+1)-1___

6.结点数为20的二叉树可能达到的最大高度为 __19___

7.树的遍历方法有 _前序 __和___中序___和___后序 _。

8.插入排序分为 __直接插入___和___希尔___排序。

9.交换排序分为___冒泡排序和 __快速排序排序 。

10。典型的最小生成树的算法是 __克鲁斯卡尔算法和___普利姆算法___算法。

三 ,判断题(共5题,每题1分)

1. 图是线性数据结构。( f )

2. 树的先序遍历是先遍历根,再左孩子 ,再遍历右孩子。( t )

3. 归并排序的思想是先分组,然后将其相邻两个有序自序列依次排序为一个有序序列 ( t )

4. 队列是先进后出的数据结构。( f )

5. 带有权的图称为网络。( t )

四 、简答题(本大题共4小题,每小题5分,共20分)

1. 请简单阐述树的遍历方式都有哪些,写出常用的三种遍历方式 ,并说出他们的思想。

2.请写出栈的抽象数据类型。

3.根据二叉树的定义,具有a、b、c三个结点的二叉树有5种不同的形态,请将它们分别画出。(本小题5分)

4. 请简单阐述冒泡排序的思想。

五编成题(10分)

1. 用栈进行单词逆序,比如有一个字母序列为 abcdefg ,要求使用栈的思想编程并最后输出gfedcba。

数据结构与算法

本章知识要点 算法的基本概念 数据结构的定义 线性表的定义和存储 树 二叉树的定义和存储 查找与排序算法。算法 algorithm 是一组有穷的规则,规定了解决某一特定类型问题的一系列运算,是对解题方 与完整的描述。算法是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法。在计算机科学中...

算法与数据结构

学院专业姓名学号。实验1 线性表的操作 12学时 问题描述 假设一个班级内有n个学生,定义一个学生类和一个班级类。学生类中包括学号 姓名 性别 年龄 专业等属性 班级类包括一个学生对象链表。定义如下 class student class myclass student stu head 链表表头指...

算法与数据结构

1 简述算法的概念及其五个重要特性。2 下图是用邻接表存储的图,请画出此图,写出其邻接矩阵以及从c点开始分别按广度优先搜索和深度优先搜索遍历该图的结果。给定一棵用二叉链表表示的二叉树,其根指针为root,编写求此二叉树叶结点个数的算法,要求先写出二叉链表的类型定义。2.编写简单选择排序的算法。1 用...