当前位置:文档之家› 数据结构与算法模拟试题

数据结构与算法模拟试题

一、选择题1.在逻辑上可以把数据结构分成()A.线性结构和非线性结构B.动态结构和静态结构C.紧凑结构和非紧凑结构D.内部结构和外部结构2.单链表中各结点之间的地址()A.必须连续B.部分必须连续C.不一定连续D.以上均不对3.在一个长度为n的顺序表中向第i个元素(0<i<=n+1)之前插入一个新元素时,需向后移动()个元素。

A、n-iB、n-i+1C、n-i-1D、i4. 插入和删除操作只能在一端进行的线性表,称为()。

A.队列B.线性表C.栈D.循环队列5、队列是仅允许在()进行插入,而在()进行删除。

()A.队尾,队首B.队尾,队尾C.队首,队尾D.队首,队首6.链表适合于()查找。

A.顺序B.二分C.随机D.顺序或二分7.数据的基本单位是()。

A.数据元素B.数据结构C.数据项D.数据对象8.下列哪个不是算法的特性()。

A.有穷性B.可数性C.可行性D.确定性9.在表长为n的顺序表中进行线性查找,它的平均查找长度为()。

A.ASL=nB.ASL=(n+1)/2C.ASL=n+1D.ASL=log2n10. 一个线性表第一个元素的存储地址是320,每个元素的长度为3,则第五个元素的地址是()。

A.311B.328C.332D.31311.设front、rear分别为循环双向链表结点的左指针和右指针,则指针P所指的元素是双循环链表L的尾元素的条件是()。

A.P==LB.P->front==LC.P==NULLD.P->rear==L12. 已知P为单链表中的非首尾结点,删除P结点的后继结点Q的语句为()。

A.P->NEXT=Q->NEXT;FREE(Q);B.Q->NEXT=P; FREE(Q);C.Q->NEXT=P->NEXT;FREE(Q);D.P->NEXT=S;S->NEXT=P;13.循环队列SQ队满的条件是()。

A.SQ->rear==SQ->frontB. (SQ->rear+1)%MAXLEN==SQ->frontC.SQ->rear==0D. SQ->front==014.一组记录的排序码为(46,79,56,38,40,84),则利用堆排序的方法建立的初始堆为()。

A、79,46,56,38,40,80B、84,79,56,38,40,46C、84,79,56,46,40,38D、84,56,79,40,46,3815.排序趟数与序列原始状态(原始排列)有关的排序方法是()方法。

A、插入排序B、选择排序C、冒泡排序D、快速排序16.下列排序方法中,()是稳定的排序方法。

A、直接选择排序B、二分法插入排序C、希尔排序D、快速排序17.数据序列(8,9,10,4,5,6,20,1,2)只能是下列排序算法中()的两趟排序后的结果。

A、选择排序B、冒泡排序C、插入排序D、堆排序18.对序列(15,9,7,8,20,-1,4)进行排序,进行一趟排序后,数据的排列变为(4,9,-1,8,20,7,15),则采用的是()排序。

A、选择B、快速C、希尔D、冒泡19.一组待排序记录的关键字为(46,79,56,38,40,84),则利用快速排序,以第一个记录为基准元素得到的一次划分结果为()。

A(38,40,46,56,79,84) B、(40,38,46,79,56,84)C、(40,38,46,56,79,84)D、(40,38,46,84,56,79)20.用直接插入排序对下面四个序列进行排序(由小到大),元素比较次数最少的是()。

A、94,32,40,90,80,46,21,69B、32,40,21,46,69,94,90,80C 21,32,46,40,80,69,90,94 D、90,69,80,46,21,32,94,4021.若用冒泡排序对关键字序列(18,16,14,12,10,8)进行从小到大的排序,所需进行的关键字比较总次数是()。

A、10B、15C、21D、3422.就排序算法所用的辅助空间而言,堆排序、快速排序和归并排序的关系()。

A、堆排序<快速排序<归并排序B、堆排序<归并排序<快速排序C、堆排序>归并排序>快速排序D、堆排序>快速排序>归并排序23.最小生成树的构造可使用()算法。

A.Dijkstra算法B.Prim算法C.Haffman算法D.Floyd算法24. 具有32个结点的完全二叉树的深度为()。

A. 5B.6C.7D.825. 在有n个叶子结点的哈夫曼树中,其结点总数为()。

A.不确定 B.2n C.2n+1 D.2n-126.下列陈述正确的是()。

A.二叉树是度为2的有序树B. 二叉树中最多只有二棵树,且有左右子树之分C.二叉树必有度为2的结点D. 二叉树中结点只有一个孩子时无左右之分27.先序为A,B,C的二叉树共有()种。

A.3B.4C.5D.628.在树结构中,若结点B有3个兄弟,A是B的父亲结点,则A的度为()。

A.3B.4C.5D.629.在一个图中,所有顶点的度数之和等于所有边数的()倍。

A、1B、2C、3D、430.n个顶点的强连通图至少有()边。

A、nB、n-1C、n+1D、n (n-1)31.在一个无向图中,所有顶点的度数之和等于所有边数的()倍;在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的()倍。

A、1/2B、2C、1D、432.任何一个无向连通图的最小生成树()。

A、只有一棵B、一棵或多棵C、一定有多棵D、可能不存在33.在图的表示法中,表示形式唯一的是()A、邻接矩阵表示法B、邻接表表示法C、逆邻接矩阵表示法D、逆邻接表表示法34.在一个具有n个顶点的无向图中,要连通全部顶点至少需要()条边。

A.nB.n+1C.n-1D.n+235. 在一个图中,所有顶点的度数之和等于图的边数的()。

A.1/2 B.2 C.1 D.436.有7个结点的有向完全图有()边。

A.30B.40C.42D.5637.假定在一棵二叉树中,度为2的分支结点个数为15,度为1的分支结点个数为30个,则叶子结点数为()。

A、15B、16C、17D、4738.设n,m为一棵树上的两个结点,在中根遍历时,n在m前的条件是()。

A、n在m右方B、n是m祖先C、n在m左方D、n是m子孙39.某二叉树的后序遍历序列为:DABEC,中序遍历序列为:DEBAC,则前序遍历序列为()。

A、ACBEDB、DECABC、DEABCD、CEDBA40.将一棵有100个结点的完全二叉树从上到下,从左到右依次对结点编号,根结点的编号为1,则编号为45的结点的左孩子的编号为(),右孩子的编号为()。

A、46B、47C、91D、9141.某树中,若结点B有4个兄弟,A是B的父亲结点,则A的度为()。

A、3B、4C、5D、642.下列叙述正确的是()A、二叉树是度为2的有序树B、二叉树结点只有一个孩子时无左右之分C、二叉树中必有度为2的结点D、二叉树中最多只有两棵子树,且有左右之分43.由带权为9、2、5、7的四个叶子结点构造一棵哈夫曼树,该树的带树路径长度为()。

A、23B、37C、46D、4444.在图的表示方法中,表示形式是唯一的是()。

A.邻接表B.逆邻接表C.邻接矩阵D.其他44.下列关键字序列中,构成大根堆的是()A.5,8,1,3,9,6,2,7B.9,8,1,7,5,6,2,33C.9,8,6,3,5,l,2,7D.9,8,6,7,5,1,2,345.对序列(15,9,7,8,20,-1,4)进行排序,进行一趟排序后,数据的排列变为(4,9,-1,8,20,7,15),则采用的是()排序。

A.选择B.快速C.希尔D.冒泡46.设n,m为一棵树上的两个结点,在中根遍历时,n在m前的条件是()。

A.n在m右方B.n是m祖先C.n在m左方D.n是m子孙二、填空题1.树和都属于非线性结构。

2.顺序表中逻辑上相邻的元素在物理位置上相邻。

3.双向链表有两个指针域,一个指向前趋,另一个指向____。

4.若进栈的次序是A,B,C,D,E,写出两种出栈顺序___。

5.队列存取数据应遵循的原则是____。

6.有20个结点的完全二叉树,编号为7的结点的父结点编号为。

7.两个序列分别为:L1={3,50,41,42,55,65,70,75},L2={3,50,41,42,65,55,.10,5},用冒泡排序法对L1和L2进行排序,交换次数较少的是序列:。

8.在排序方法中,从无序序列中选择关键字最小的记录,与无序区(初始为空)的第一个记录交换的排序方法,称为 __排序。

9.有向图的边也称为 ___,用邻接矩阵存储有向图,其第i行的所有元素之和等于顶点i的。

10.树转换成的二叉树,其根结点的子树一定为空。

11.二叉排序树是一种查找表。

12.对一组记录(50,40,95,20,15,70,60,45,80)进行直接插入排序时,当把第7条记录60插入到有序表中时,为寻找插入位置需比较次。

13.在树形结构中,树根结点没有(前驱)结点,其余每个结点有且只有个前驱结点;叶子结点没有结点,其余结点的后继结点可以___。

14.在具有n个结点的二叉树中,有____个空指针。

15.深度为k的完全二叉树至少有____个结点,至多有___个结点,若按自上而下,从左到右次序给结点从1开始编号,则编号最小的叶子结点的编号是_____。

16.由a,b,c三个结点构成的二叉树,共有种不同形态,若是构成树,共有__ 种形态。

17.树所对应的二叉树其根结点的子树一定为空。

18.已知完全二叉树的第8层有8个结点,则其叶结点数是三、综合应用题。

2.已知完全二叉树的第8层有4个结点,请计算它的叶子结点数和总结点数。

(写出计算过程)。

(6分)解:由题意可知,该完全二叉树有八层,其中第一层结点数为:1 第二层结点数为:2第三层结点数为:4 第四层结点数为:8第五层结点数为:1 第六层结点数为:32第七层结点数为:6 第八层结点数为:4因为第八层结点数为4,且为完全二叉树,则第八层四个结点为叶子结点,第七层前两个结点有子结点,其余62个结点无子结点,则第七层的后62个结点为叶子结点,故叶子结点数有4+62=66总结点数为1+2+4+8+16+32+64+4=1313.已知数据序列{10,8,18,15,7,16},写出采用直接插入算法排序时,每一趟排序的结果。

(6分)解:直接插入排序过程如下所示初始列:(10),8,18,15,7,16 第一趟:(8,10),18,15,7,16第二趟:(8,10,18),15,7,16 第三趟:(8,10,15,18),7,16 第四趟:(7,8,10,15,18),16 第五趟:(7,8,10,15,16,18)6.一棵具有6层的满二叉树中结点数为多少?请写出计算公式。

相关主题