专升本数据结构试题

合集下载

(专升本)《数据结构》试题三套

(专升本)《数据结构》试题三套

(专升本)《数据结构》试题三套数据结构试题三套一、单选题1. 在二叉树的遍历过程中,如果先访问根节点,则得到的是:A. 先序遍历B. 中序遍历C. 后序遍历D. 层次遍历2. 下列数据结构中,不属于线性结构的是:A. 数组B. 链表C. 栈D. 队列3. 哪种数据结构可用于实现递归算法的运算过程?A. 数组B. 链表C. 栈D. 队列4. 在队列中,允许删除的一端称为:A. 队首B. 队尾C. 栈顶D. 栈底5. 下列哪种排序算法的时间复杂度最坏情况下也是O(nlogn)?A. 插入排序B. 冒泡排序C. 快速排序D. 选择排序二、填空题1. 拓扑排序是一种按照有向图的拓扑序列排列顶点的算法。

如果一个有向图存在环,则该图不可进行拓扑排序。

拓扑排序的时间复杂度为_______。

2. 假设有一个有n个元素的数组,要通过比较元素的大小来确定元素在数组中的位置,最坏情况下需要比较的次数为_______。

3. 假设有一个有n个元素的数组,按照从小到大的顺序进行插入排序。

已知数组在最坏情况下的逆序对数量为k,则进行插入排序的时间复杂度为_______。

4. 快速排序的时间复杂度取决于划分点的选择。

若每次总是选择数组的第一个元素作为划分点,则当数组已经有序时,快速排序的时间复杂度为_______。

5. 在哈希表中,冲突解决方法有很多种,其中比较常用的是_______和_______。

三、编程题1. 请编写一个函数,实现冒泡排序算法,并对一个整型数组进行排序。

2. 请编写一个函数,实现二分查找算法,并返回查找结果的索引位置。

3. 请编写一个函数,实现栈的逆序操作。

要求只能使用一个额外的栈空间。

4. 请编写一个函数,实现队列的逆序操作。

要求只能使用一个额外的栈空间。

5. 请编写一个函数,实现递归算法,计算斐波那契数列的第n项。

以上为《数据结构》试题三套,包括单选题、填空题和编程题。

通过这些试题,可以测试学生对数据结构相关知识的掌握程度,并培养其分析和解决问题的能力。

专升本《数据结构》_试卷_答案

专升本《数据结构》_试卷_答案

专升本《数据结构》一、(共75题,共150分)1. 数据的基本单位是()。

(2分)A.数据元素 B。

记录 C.数据对象 D。

数据项.标准答案:A2. ()是数据的不可分割的最小单位。

(2分)A.数据对象B.数据元素 C。

数据类型 D。

数据项。

标准答案:D3。

算法的空间复杂度是对算法()的度量. (2分)A。

时间效率 B.空间效率 C。

可读性 D。

健壮性。

标准答案:B4。

()是限制了数据元素的内部结构仅为一个字符的线性表. (2分)A.栈B.队列 C。

串 D。

数组.标准答案:B5。

串的长度是指串中所含()的个数。

(2分)A.不同字符B.不同字母 C。

相同字符 D。

所有字符。

标准答案:D6. 采用带头结点双向链表存储的线性表,在删除一个元素时,需要修改指针()次. (2分)A.1 B。

2 C。

3 D.4。

标准答案:B7。

线性表的顺序存储结构是一种()的存储结构。

(2分)A。

顺序存取 B。

随机存取 C。

索引存取 D。

Hash存取。

标准答案:B8。

数组a[1.。

m]采用顺序存储,a[1]和a[m]地址分别为1024和1150,每个元素占2字节,则m是()。

(2分)A。

64 B.32 C.16 D.8。

标准答案:A9。

深度为h的二叉树,第h层最多有()个结点。

(2分)A。

h B.2h—1C.2h—1 D。

2h.标准答案:C10。

m个结点的二叉树,其对应的二叉链表共有()个非空链域. (2分)A.mB.m+1 C。

2m D.m-1.标准答案:B11。

下面叙述错误的是()。

(2分)A.顺序表是借助物理单元相邻表示数据元素之间的逻辑关系B。

对于空队列进行出队操作过程中发生下溢现象C.有向图的邻接矩阵一定是对称的D。

具有相同的叶子个数和具有相同的叶子权值的赫夫曼树不是唯一的。

标准答案:C12。

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

(2分)A.循环队列 B.双向链表 C。

哈希表 D。

数组.标准答案:D13。

专升本数据结构试题

专升本数据结构试题

专升本数据结构试题“专升本”考试《数据结构》试题成绩:一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填下列表格内,填在题干的括号内无效。

每小题2分,共28分)1.某二叉树的先序序列和后序序列正好相同,则该二叉树一定是( )的二叉树。

A.空或只有一个结点B.高度等于其结点数C.任一结点无左孩子D.任一结点无右孩子2.下列排序算法中,时间复杂度不受数据初始状态影响,恒为O(log 2n)的是( )A.堆排序B.冒泡排序C.直接选择排序D.快速排序3.下列排序算法中,( )算法可能会出现下面情况:初始数据有序时,花费的时间反而最多。

A.堆排序 B.冒泡排序 C.快速排序D.希尔排序4.一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( )A. 2 3 4 1 5B. 5 4 1 3 2C. 2 3 1 4 5D. 1 5 4 3 25.设循环队列中数组的下标范围是0~n-1,其头尾指针分别为f 和r ,则其元素个数为( )A. r-fB. r-f+1C. (r-f) mod n+1D. (r-f+n) mod n 6.数组A [5][6]的每个元素占5个单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A [5,5]的地址为( ) A. 1140 B. 1145 C. 1120 D. 1125 7.求最短路径的DIJKSTRA 算法的时间复杂度为( )A. O(n)B. O(n+e)C. O(n 2)D. O(n ×e)8.对有18个元素的有序表作二分查找,则查找A [3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,3 9.快速排序算法在最好情况下的时间复杂度为( ) A. O(n)B. O(nlog 2n)C. O(n 2)D. O(log 2n)10.下列排序算法中,某一趟结束后未必能选出一个元素放在其最终位置上的是( )A.堆排序B.冒泡排序C.快速排序D.直接插入排序11.哈希查找的时间复杂度为()。

专升本数据结构试卷答案

专升本数据结构试卷答案

专升本数据结构试卷答案一、选择题(每题 2 分,共 30 分)1、在数据结构中,从逻辑上可以把数据结构分为()。

A 动态结构和静态结构B 紧凑结构和非紧凑结构C 线性结构和非线性结构D 内部结构和外部结构答案:C解析:数据结构从逻辑上分为线性结构和非线性结构。

线性结构是数据元素之间存在一对一的关系,如线性表、栈、队列等;非线性结构是数据元素之间存在一对多或多对多的关系,如树、图等。

2、以下数据结构中,()是非线性数据结构。

A 栈B 队列C 线性表D 二叉树答案:D解析:二叉树是一种非线性数据结构,每个节点最多有两个子节点。

栈、队列和线性表都属于线性数据结构。

3、一个顺序存储的线性表的第一个元素的存储地址是 100,每个元素的长度为 2,则第 5 个元素的地址是()。

A 108B 110C 106D 104答案:A解析:第一个元素地址为 100,每个元素长度为 2,所以第 5 个元素的地址为 100 + 2×(5 1) = 108。

4、在单链表中,增加头结点的目的是()。

A 方便运算的实现B 使单链表至少有一个结点C 标识表结点中首结点的位置D 说明单链表是线性表的链式存储实现答案:A解析:头结点的作用是方便运算的实现,比如在插入和删除操作时,可以避免对第一个元素的特殊处理。

5、设栈的顺序存储空间为 S(1:m),初始状态为 top = 0。

现经过一系列入栈与退栈运算后,top = 20,则当前栈中有()个元素。

A 20B 21C m 20D m 19答案:A解析:栈是一种先进后出的数据结构,top 指向栈顶元素的位置,top = 20 说明当前栈中有 20 个元素。

6、循环队列的存储空间为 Q(1:50),初始状态为 front = rear = 25。

经过一系列入队与退队运算后,front = 15,rear = 10,则循环队列中的元素个数为()。

A 5B 6C 16D 49答案:B解析:循环队列中元素个数的计算公式为:(rear front + 50) % 50。

数据结构与算法复习题(专升本)

数据结构与算法复习题(专升本)

1、数据结构被形式地定义为( D, R),其中 D 是的有限集合, R 是 D 上的有限集合。

2、数据结构包括数据的、数据的和数据的这三个方面的内容。

3、写出带头结点的双向循环链表 L 为空表的条件。

4、在具有 n 个元素的循环队列中,队满时具有个元素。

5、求子串在主串中首次浮现的位置的运算称为。

6、由 3 个结点所构成的二叉树有种形态。

7、数据的逻辑结构是指。

8、数据结构按逻辑结构可分为两大类,它们分别是和。

9、线性结构中元素之间存在关系,树形结构中元素之间存在关系,图形结构中元素之间存在多对多关系。

10、带头结点的单链表 head 为空的条件是。

11、两个串相等的充分必要条件是两个串的长度相等且。

12、二维数组,可以按照和两种不同的存储方式。

13、一棵具有 257 个结点的彻底二叉树,它的深度为。

14、内部排序方法按排序采用的策略可划分为五类:、、、和基数排序。

1、若某线性表中最常用的操作是取第 i 个元素和找第 i 个元素的前驱,则采用( )存储方法最节省时间。

A.顺序表B.单链表C.双链表D.单循环链表2、二叉树的前序序列和后序序列正好相反,则该二叉树一定是( )的二叉树。

A.空或者惟独一个结点B.高度等于其结点数C.任一结点无左孩子D.任一结点无右孩子3、计算机算法指的是: ( )A. 计算方法B. 排序方法C. 解决问题的有限运算序列D. 调度方法4、栈和队列的主要区别在于( )。

A.它们的逻辑结构不一样B.它们的存储结构不一样C.所包含的运算不一样D.插入删除运算的限定不一样5、为 5 个使用频率不等的字符设计哈弗曼编码,不可能的方案是( )。

A.000,001,010,011,1B. 0000,0001,001,01,1C.000,001,01,10,11D.00,100,101,110,1116、用深度优先遍历方法遍历一个有向无环图,并在深度优先遍历算法中按退栈次序打印出相应的顶点,则输出的顶点序列是( )。

(专升本)《数据结构》试题三套

(专升本)《数据结构》试题三套

(专升本)《数据结构》试题(模A)一、单项选择题(从下列各题四个备选答案中选出一个正确答案,将其代号(A,B,C,D)写在下表中,答题写在其它地方无效;每小题1分,共11分)1.A.元素B.结点C.数据类型D.数据项2.下列算法suanfa2的时间复杂度为____。

int suanfa2(int n){ int t=1;while(t<=n)t=t*2;return t;}A.O(log2n)B.O(2n)C.O(n2)D.O(n)3.____又称为FIFO表。

A.队列B.散列表C.栈D.哈希表4.若6行8列的数组以列序为主序顺序存储,基地址为1000,每个元素占2个存储单元,则第5行第3列的元素(假定无第0行第0列)的地址是____。

A.1086B.1032C.1068D.答案A,B,C都不对5.广义表(a,((b,( )),c),(d,(e)))的深度是____。

A.5B.4C.3D.26.有n(n>0)个结点的完全二叉树的深度是____。

A.⎡log2(n)⎤B.⎡log2(n)+1⎤C.⎣log2(n+1)⎦D.⎣log2(n)+1⎦7.与中缀表达式a+b*c-d等价的前缀表达式是____。

A.+a-*bcdB.*+-abcdC.-+a*bcdD.abcd+*-8.折半查找有序表(6,15,30,37,65,68,70,72,89,99),若查找元素37,需依次与表中元素____进行比较,。

A.65,15,37B.68,30,37C.65,15,30D.65,15,30,379.对长度为10的表作选择(简单选择)排序,共需比较____次关键字。

A.45B.90C.55D.11010.对n个元素的表作快速排序,在最坏情况下,算法的时间复杂度为____。

A.O(log2 n)B.O(nlog2 n)C.O(n2)D.O(2n )共5 页第1页11.对长度为10的表作2_路归并排序,共需移动____次(个)记录。

专升本数据结构习题

专升本数据结构习题

第一章绪论一、填空题1.数据是描述客观事物的数、字符以及所有能输入到计算机且能够被计算机程序加工处理的符号集合。

_________是数据的基本单位;___________是数据的最小单位。

通常被计算机加工处理的数据不是孤立无关的,而是彼此之间存在着某种联系,将这种数据间的联系称为________。

2.数据结构进行形式化定义时,可以从逻辑上认为数据结构DS是_________的集合D和D上_________的集合R所构成的二元组:DS=(D,R)。

3.已知某数据结构的二元组形式表示为:A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>}。

则此数据结构属于_____________结构。

4.一个算法的时间复杂度通常用问题规模大小的函数来表示,当一个算法的时间复杂度与问题规模n大小无关时,则表示为__________;成正比关系时,则表示为___________;成对数关系时,则表示为___________;成平方关系时,则表示为__________。

5.数据结构的逻辑结构包括_____________、树型结构和图型结构三种类型,其中树型结构和图型结构合称为_____________;数据结构的存储结构主要包括____________和____________两种类型。

6.线性结构的特点是:第一个结点_______前驱结点,其余结点有且仅有_______个前驱结点;最后一个结点_______后继结点,其余每个结点有且仅有_______个后继结点。

7.树型结构的特点是:根结点没有________结点,其余每个结点有且仅有________个前驱结点;叶子结点_________后继结点,其余结点可以有_________个后继结点。

专升本数据结构试题解析

专升本数据结构试题解析

第2部分习题解析第1章绪论1.1选择题1. 算法的时间复杂度取决于(C)A)问题的规模 B)待处理数据的初态 C) A和B【答案】C2.计算机算法指的是解决问题的步骤序列,它必须具备(B)这三个特性。

A)可执行性、可移植性、可扩充性B)可执行性、确定性、有穷性C)确定性、有穷性、稳定性D)易读性、稳定性、安全性【答案】B5.从逻辑上可以把数据结构分为(C)两大类。

A)动态结构、静态结构B)顺序结构、链式结构C)线性结构、非线性结构D)初等结构、构造型结构【答案】C6.在下面的程序段中,对x的赋值的语句频度为(C)for(i=0;i<n;i++)for(j=0;j<n;j++) x=x+1;A) O(2n) B)O(n) C.O(n2) D.O(log2n)【答案】C7.下面的程序段中, n为正整数,则最后一行的语句频度在最坏情况下是(D)for(i=n-1;i>=1;i--)for(j=1;j<=i;j++)if (A[j]>A[j+1])A[j]与A[j+1]对换;A. O(n)B) O(nlog2n) C) O(n3) D) O(n2)【答案】D1.2填空题2. 对于给定的n个元素,可以构造出的逻辑结构有_____________,_____________,_____________,_____________四种。

【答案】(1)集合(2)线性结构(3)树形结构(4)图状结构或网状结构4.数据结构中评价算法的两个重要指标是_____________。

【答案】算法的时间复杂度和空间复杂度。

5. 数据结构是研讨数据的_____________和_____________,以与它们之间的相互关系,并对与这种结构定义相应的_____________,设计出相应的_____________。

【答案】(1)逻辑结构(2)物理结构(3)操作(运算)(4)算法。

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

(专升本)数据结构A卷参考答案

(专升本)数据结构A卷参考答案

专升本)数据结构A卷参考答案:简答题1,数据结构是相互之间存在一种或多种特定关系的数据元素的集合.这种数据元素相互之间的关系称为结构.可以将数据结构形式化地定义为二元组:Data_Structure=(D,S)其中:D是数据元素的有限集,S是D上关系的有限集.数据结构课程主要讨论数据的逻辑结构,物理结构和操作三个方面的问题.2,算法的时间复杂度是指算法中各语句的频度之和T(n),其中频度指语句的执行次数,n指问题的规模,一般为数据的输入量.渐近时间复杂度:当问题的规模n趋于无穷大时,T(n)的数量级(阶).记为T(n)=O( f(n) ).这里"O"是一种近似表示法,其含义是:在n较大时,该算法的运行时间和f(n)成正比,或者说,T(n)的数量级和f(n)的数量级相同.实际中,将渐近时间复杂度简称为时间复杂度,用以描述算法的时间特性.3,顺序表的优点:(1)可直接求出存储地址(随机存储结构),结构简单,便于随机访问表中的任一元素.(2)存储密度高.顺序表的缺点:(1)不便于插入和删除.(移动元素次数多,平均约需移动一半元素)(2)不便于扩充表的容量.(3)不能有效地利用内存空间.单链表的优点:(1)结点空间可动态申请动态释放.(2)每个结点有指针域指示逻辑顺序,进行插入删除操作时不需移动元素.单链表的缺点:(1)不能随机访问表中任一元素,效率低.(2)存储量可随意扩充,但新增加的存储空间可能与以前的不邻接,故需要设立一些存放地址用的存储单元.4,入栈算法:int push (qstype *s, elemtype x){if (s→top==MAXNUM-1)return 0;else { s→top++;s→stack [s→top]=x;return 1; }}出栈算法:elemtype pop(qstype *s){if (s→topnext!=NULL)if (p->data!=p->next->data)p=p->next;else{ q=p->next;p->next=q->next;free(q);}}return head;}2,#define m 100typedef struct btreenode{ elemtype data;struct btreenode *left;struct btreenode *right;} btree; /*二叉链表的形式化定义*/ void postorder(btree * b){btree * stack[m],*p;int tag[m],top=0;p=b;do{while (p!=NULL){ top++;stack[top]=p;tag[top]=0;p=p->left;}if (top>0){ p=stack[top];if (tag[top]==1){ top--;printf("%d",p->data);}if (top>0){ p=p->right;tag[top]=1;}}}while (p!=NULL&&top!=0)}。

最全版专升本《数据结构》试题答案

最全版专升本《数据结构》试题答案

[试题分类]旁升本《数据结构》_08004150圉型]单选份数]: 2个顶点的无向连通网的最小成本树,至少有()个边。

(n-1)(n-1)/2答案:C个顶点的连通无向图,至少有()个边。

(m-1)(m1)/2答案:C3. 空串的长度是()。

答案:A4. 假设以数组A[O .. n1]存放循环队列的元素,其头指针fr o n t指向队头元素、尾指针re a r指向队尾元素一个,则在少用一个元素空间的前提下,队列空的判定条件为()。

A{ f ro n t+ 1) %n==re a rB { re a r+1) %n==fro n tl==fron t==fro n t答案:D5. 可以采用()这种数据结构,实现二叉树的层次遍历运算。

A集合B栈C. 队列D树答案:C6钱性表的顺序存储结构是一种()的存储结构。

A随机存取存取C顺序存取D索引存取答案:A7. 采用带头结点双向链表存储的线性表,在删除一个元素时,需要修改指针()次。

答案:D8. 队列的出队操作是指()操作。

A. 队头删除B队尾删除C. 队头插入D. 队尾插入答案:A9在关键字序列C l O,15,20,25, :}O中,采用折半法查找25,关键字之间比较需要()次。

答案:B10.串下列关于串的叙述中,正确的是()。

个串的长度相等,则2个串相等B.替换操作可以实现字符的删除C.空串至少包一个空格D. 一个串的长度至少是1答案:B11. 若二叉树对应的二叉链表共有n个非空链域,则该二叉树有()个结点的二叉树。

+l答案:D12. 下面叙述错误的是()。

A在无向图的邻接矩阵中每行1的个数等于对应的顶点度B借助于队列可以实现对二叉树的层遍历C对于单链表进行插入操作过程中不会发生上溢现象D. 栈的特点是先进后出答案:C13. 算法是对某一类问题求解步骤的有限序列。

其中,()是算法具有的5个特性之一。

A. 可读性B有穷性C. 正确性D健壮性答案:B14. 队列的入队操作是在()进行的。

专升本数据结构5年真题和详细解析概要

专升本数据结构5年真题和详细解析概要

2007年山东省专升本考试数据结构真题一、判断题(10分。

本大题共10小题,每小题1分,在小题左面用√表示是,×表示否)1. 线性表的顺序存储结构是一种随机存储结构。

()2. 一个栈的入栈序列是a, b, c, d, e,则dceab是一个不可能的输出序列。

()3. 广义表(a, (a,b), d, e, ((i, j), k)) 的深度是2。

()4. 树是一种重要的线性数据结构。

()5. 按照二叉树的定义,具有三个结点的二叉树有5种。

()6. 已知一个有向图的邻接矩阵表示,计算第i个结点的出度的方法是求矩阵第i列非零元的个数。

()7. 将递归算法转换为对应的非递归算法时,通常需要使用队列。

()8. 在哈夫曼编码中,当两个字符出现的频率相同时,其编码也相同。

()9. 散列法存储的基本思想是由关键字的值决定数据的存储地址。

()10. (101,88,46,70,34,39,45,58,66,10)是堆。

()二、填空题(15分。

本大题共5小题,5个空,每个空3分,将正确答案填在空格处)。

1. 将下三角矩阵A[1..8, 1..8]的下三角部分逐行地存储到起始地址为1000的内存单元中,已知每个元素占4个单元,则A[7, 5]的地址为___________。

2. 若某二叉树有20个叶结点,有30个只有一个孩子的结点,则该二叉树的总结点数为___________。

3. 如果以{4,5,6,7,8}作为叶子结点的权值构造哈夫曼树,则其带权路径长度是___________。

4. 在顺序存储的二叉树中,编号为i和编号为j的结点处在同一层的条件是___________。

5. 有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当折半查找值为82的结点时,___________次比较后查找成功。

三、(10分)已知关键字序列为{46,57,84,32,73,36,15,48,90,20},要求:(1)构造一棵二叉排序树;(2)在等概率情况下,该二叉排序树查找成功的平均查找长度。

云南省统招专升本考试数据结构模拟题及答案

云南省统招专升本考试数据结构模拟题及答案

云南省统招专升本考试数据结构模拟题及答案一、选择题(每题4分,共40分)1. 下面哪一个不是线性结构的基本特征?A. 有且只有一个根节点B. 每个节点最多有一个前驱和一个后继C. 数据元素之间都是一对一的相邻关系D. 数据元素之间可以是多对多的关系答案:D2. 在单链表中,若要删除指针p所指的节点,则正确的操作是()。

A. p = p->nextB. p->next = p->next->nextC. p->next = pD. p = p->next->next答案:B3. 设栈S的初始状态为空,元素a, b, c, d, e依次进栈,若每个元素进栈后立即输出,则以下哪一个序列是不可能得到的?A. abedcB. decbaC. acbdeD. acbed答案:C4. 下面关于二叉树的叙述中,正确的是()。

A. 二叉树中的每个节点最多有两个子节点B. 二叉树中的每个节点最多有一个父节点C. 二叉树中的每个节点最多有一个子节点D. 二叉树中的每个节点可以有多个父节点答案:A5. 在顺序存储的二叉树中,若节点X的存储位置是i,则其右孩子的存储位置是()。

A. 2iB. 2i + 1C. 2i - 1D. 2(i + 1)答案:B6. 下面哪一个不是排序算法的时间复杂度?A. O(n^2)B. O(nlogn)C. O(n)D. O(2^n)答案:D7. 下面哪一个算法的平均时间复杂度不是O(nlogn)?A. 快速排序B. 归并排序C. 堆排序D. 冒泡排序答案:D8. 在哈希表中,若哈希函数的值域为[0, m-1],则下面哪一个不是解决冲突的方法?A. 开放地址法B. 链地址法C. 再散列法D. 查找表法答案:D9. 下面哪一个不是图的遍历算法?A. 深度优先搜索B. 广度优先搜索C. 拓扑排序D. 最短路径算法答案:D10. 在二叉树中,度为0的节点数n0与度为2的节点数n2之间的关系是()。

数据结构(专升本)复习题

数据结构(专升本)复习题

一、选择题(每小题2分,共10分)1.若已有一个栈,输入序列为A,B,C,D,E,那么下面哪种序列不可能得到?()a.ABCDE b.EDCBA c.BAEDC d.ECDBA答案:D2.在用邻接表表示图时, 对图进行深度优先搜索遍历的算法的时间复杂度为______。

a.O(n)b.O(n+e)c. O(n2)d.O(n3)答案:B3.下列排序算法中, 只有____排序算法是不稳定的。

a. 快速排序b.冒泡排序c.二路归并排序d.直接插入排序答案:A4.快速排序算法的平均时间复杂度是()a.O(n2) b. O (nlog2n) c. O(n) d. O(logn)答案:B5.将含100个结点的完全二叉树从根这一层开始,每层上从左到右依次对结点编号,根结点的编号为1。

编号为49的结点X的双亲编号为()a.24 b. 25 c.23 d.无法确定答案:A6、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、()等5个特性。

A可执行性、可移植性和可扩充性 B可执行性、有穷性和确定性C确定性、有穷性和稳定性 D易读性、稳定性和确定性答案:B7、具有线性结构的数据结构是()A 图B 树C 广义表 D栈答案:D9、顺序表是线性表的()A、链式存储结构B、顺序存储结构C、索引存储结构D、散列存储结构答案:B16、将一个A[1..100][1..100]的三对角矩阵,按行优先存入一维数组B[1..298](即该元素下标i=66,j=65)在B数组中的位置K为()中,A中元素a66,65A 195B 196C 197D 198答案:A17、广义表 ((a)) 的表尾是()A、aB、(a)C、( )D、((a))答案:C18、一颗完全二叉树上有1001个结点,其中叶子结点的个数是()A 250B 501C 254D 500答案:B19、一颗有124个叶结点的完全二叉树,最多有()个结点A 247B 248C 249D 251答案:B20、设无向图的顶点个数n,则该无向图最多有()条边A n-1B n(n-1)/2C n(n+1)/2D 0答案:B21、采用邻接表存储的图,其DFS类似于二叉树的()A 中序遍历B 先序遍历C 后序遍历D 按层次遍历答案:B22、长度为10的按关键字有序的查找表采用顺序组织方式。

课程:数据结构(专升本)试题和答案

课程:数据结构(专升本)试题和答案

课程:数据结构(专升本)--试题和答案1. (单选题) 一棵满二叉树共有64个叶子结点,则其深度为( )。

(本题3.5分)A、 4B、 6C、7D、8学生答案:未答题标准答案:C解析:得分:2. (单选题) 线性表的静态链表存储结构与顺序存储结构相比,优点是( )。

(本题3.5分)A、所有的操作算法实现简单B、便于随机存取C、便于插入和删除D、便于利用零散的存储器空间学生答案:未答题标准答案:C解析:得分:3. (判断题) 在单链表中,可以从头结点开始查找任何一个结点。

( )(本题3.0分)A、正确B、错误学生答案:未答题标准答案:A解析:得分:4. (单选题) ( )不是算法的基本特性。

(本题3.5分)A、可行性B、长度有限C、在规定的时间内完成D、确定性学生答案:未答题标准答案:B解析:得分:5. (单选题) 一个有n个顶点的有向图最多有( )条边。

(本题3.5分)A、nB、n(n-1)C、n(n-1)/2D、2n学生答案:未答题标准答案:B解析:得分:6. (单选题) 数据的逻辑结构可以分为( )。

(本题3.5分)A、动态结构和静态结构B、紧凑结构和非紧凑结构C、内部结构和外部结构D、线性结构和非线性结构学生答案:未答题标准答案:D解析:得分:7. (单选题) 某算法的时间复杂度为O(n2),表明该算法的( )。

(本题3.5分)A、问题规模是n2B、执行时间等于n2C、执行时间与n2成正比D、问题规模与n2成正比学生答案:未答题标准答案:C解析:得分:8. (单选题) 线性表是具有n个( )的有限序列。

(本题3.5分)A、表元素B、字符C、数据项D、数据元素学生答案:未答题标准答案:D解析:得分:9. (单选题) 数据结构在计算机内存中的表示是指( )。

(本题3.5分)A、数据的存储结构B、数据结构C、数据的逻辑结构D、数据元素之间的关系学生答案:未答题标准答案:A解析:得分:10. (单选题) 带头结点的单链表L为空的判定条件时( )。

云南省-专升本十套-数据结构(试题及答案)

云南省-专升本十套-数据结构(试题及答案)

数据结构试卷(一)一、单选题(每题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进制表示。

A.688 B.678C。

692 D.6965.树最适合用来表示()。

A、有序数据元素B、无序数据元素C、元素之间具有分支层次关系得数据D、元素之间无联系得数据6.二叉树得第k层得结点数最多为( )、A.2k-1 B、2K+1 C、2K—1 D、2k-17.若有18个元素得有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]得比较序列得下标依次为( )A、1,2,3 ﻩﻩB、9,5,2,3C、9,5,3ﻩﻩﻩD、9,4,2,38.对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得元素有( )个,A。

1 B。

2 C。

3 D。

410.设有6个结点得无向图,该图至少应有( )条边才能确保就是一个连通图。

A、5B、6C、7D、8二、填空题(每空1分,共26分)1.通常从四个方面评价算法得质量:_________、_________、_________与_________。

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

专升本十套数据结构试题及答案

专升本十套数据结构试题及答案

数据结构试卷一一、单选题每题2 分,共20分1.栈和队列的共同特点是;A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进行插入运算时 .A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组Amn,假设A00存放位置在64410,A22存放位置在67610,每个元素占一个空间,问A3310存放在什么位置脚注10表示用10进制表示;A.688 B.678 C.692 D.6965.树最适合用来表示;A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为 .A.2k-1 +1 D. 2k-17.若有18个元素的有序表存放在一维数组A19中,第一个元素放A1中,现进行二分查找,则查找A3的比较序列的下标依次为A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A. O1B. OnC. O1og2nD. On29.对于线性表7,34,55,25,64,46,20,10进行散列存储时,若选用HK=K %9作为散列函数,则散列地址为1的元素有个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有条边才能确保是一个连通图;二、填空题每空1分,共26分1.通常从四个方面评价算法的质量:_________、_________、_________和_________;2.一个算法的时间复杂度为n3+n2log2n+14n/n2,其数量级表示为________;3.假定一棵树的广义表表示为AC,DE,F,G,HI,J,则树中所含的结点数为__________个,树的深度为___________,树的度为_________;4.后缀算式9 2 3 +- 10 2 / -的值为__________;中缀算式3+4X-2Y/3对应的后缀算式为_______________________________;5.若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指针;在这种存储结构中,n个结点的二叉树共有________个指针域,其中有________个指针域是存放了地址,有________________个指针是空指针;6.对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点分别有_______个和________个;7.AOV网是一种___________________的图;8.在一个具有n个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有向完全图中,包含有________条边;9.假定一个线性表为12,23,74,55,63,40,若按Key % 4条件进行划分,使得同一余数的元素成为一个子表,则得到的四个子表分别为____________________________、___________________、_______________________和__________________________; 10.向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度___________;11.在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为________,整个堆排序过程的时间复杂度为________;12.在快速排序、堆排序、归并排序中,_________排序是稳定的;三、计算题每题6 分,共24分1.在如下数组A中链接存储了一个线性表,表头指针为A 0.next,试写出该线性表;A 0 1 2 3 4 5 6 7data 60 50 78 90 34 40next 3 5 7 2 0 4 12.请画出下图的邻接矩阵和邻接表;3.已知一个图的顶点集V和边集E分别为:V={1,2,3,4,5,6,7};E={1,23,1,35,1,48,2,510,2,36,3,415,3,512,3,69,4,64,4,720,5,618,6,725};用克鲁斯卡尔算法得到最小生成树,试写出在最小生成树中依次得到的各条边;4.画出向小根堆中加入数据4, 2, 5, 8, 3时,每加入一个数据后堆的变化;四、阅读算法每题7分,共14分1.LinkList mynoteLinkList L{设某强连通图中有n个顶点,则该强连通图中至少有条边;A nn-1B n+1C nD nn+19.设有5000个待排序的记录关键字,如果需要用最快的方法选出其中最小的10个记录关键字,则用下列方法可以达到此目的;A 快速排序B 堆排序C 归并排序D 插入排序10.下列四种排序中的空间复杂度最大;A 插入排序B 冒泡排序C 堆排序D 归并排序二、填空殖每空1分共20分1.数据的物理结构主要包括_____________和______________两种情况;2.设一棵完全二叉树中有500个结点,则该二叉树的深度为__________;若用二叉链表作为该完全二叉树的存储结构,则共有___________个空指针域;3.设输入序列为1、2、3,则经过栈的作用后可以得到___________种不同的输出序列;4.设有向图G用邻接矩阵Ann作为存储结构,则该邻接矩阵中第i行上所有元素之和等于顶点i的________,第i列上所有元素之和等于顶点i的________;5.设哈夫曼树中共有n个结点,则该哈夫曼树中有________个度数为1的结点;6.设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为d,则e和d的关系为_________;7.__________遍历二叉排序树中的结点可以得到一个递增的关键字序列填先序、中序或后序;8.设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较________次就可以断定数据元素X是否在查找表中;9.不论是顺序存储结构的栈还是链式存储结构的栈,其入栈和出栈操作的时间复杂度均为____________;10.设有n个结点的完全二叉树,如果按照从自上到下、从左到右从1开始顺序编号,则第i个结点的双亲结点编号为____________,右孩子结点的编号为___________;11.设一组初始记录关键字为72,73,71,23,94,16,5,则以记录关键字72为基准的一趟快速排序结果为___________________________;12.设有向图G中有向边的集合E={<1,2>,<2,3>,<1,4>,<4,2>,<4,3>},则该图的一种拓扑序列为____________________;13.下列算法实现在顺序散列表中查找值为x的关键字,请在下划线处填上正确的语句;struct record{int key; int others;};int hashsqsearchstruct record hashtable ,int k{int i,j; j=i=k % p;while hashtablej.key=k&&hashtablej.flag=0{j=____ %m; if i==j return-1;}if _______________________ returnj; else return-1;}14.下列算法实现在二叉排序树上查找关键值k,请在下划线处填上正确的语句;typedef struct node{int key; struct node lchild; struct node rchild;}bitree;bitree bstsearchbitree t, int k{if t==0 return0;else while t=0if t->key==k_____________; else if t->key>k t=t->lchild; else_____________;}三、计算题每题10分,共30分1.已知二叉树的前序遍历序列是AEFBGCDHIKJ,中序遍历序列是EFAGBCHKIJD,画出此二叉树,并画出它的后序线索二叉树;2.已知待散列的线性表为36,15,40,63,22,散列用的一维地址空间为0..6,假定选用的散列函数是HK= K mod 7,若发生冲突采用线性探查法处理,试:1计算出每一个元素的散列地址并在下图中填写出散列表:`23.已知序列10,18,4,3,6,12,1,9,18,8请用快速排序写出每一趟排序的结果;四、算法设计题每题15分,共30分1.设计在单链表中删除值相同的多余结点的算法;2.设计一个求结点x在二叉树中的双亲结点算法;数据结构试卷四一、选择题每题1分共 20分1.设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为 ;A OnB Onlog2nC O1D On22.设一棵二叉树的深度为k,则该二叉树中最多有个结点;A 2k-1B 2kC 2k-1D 2k-13.设某无向图中有n个顶点e条边,则该无向图中所有顶点的入度之和为 ;A nB eC 2nD 2e4.在二叉排序树中插入一个结点的时间复杂度为 ;A O1B OnC Olog2nD On25.设某有向图的邻接表中有n个表头结点和m个表结点,则该图中有条有向边;A nB n-1C mD m-16.设一组初始记录关键字序列为345,253,674,924,627,则用基数排序需要进行趟的分配和回收才能使得初始关键字序列变成有序序列;A 3B 4C 5D 87.设用链表作为栈的存储结构则退栈操作 ;A 必须判别栈是否为满B 必须判别栈是否为空C 判别栈元素的类型D 对栈不作任何判别8.下列四种排序中的空间复杂度最大;A 快速排序B 冒泡排序C 希尔排序D 堆9.设某二叉树中度数为0的结点数为N0,度数为1的结点数为N l,度数为2的结点数为N2,则下列等式成立的是 ;A N0=N1+1B N0=N l+N2C N0=N2+1D N0=2N1+l10.设有序顺序表中有n个数据元素,则利用二分查找法查找数据元素X的最多比较次数不超过 ;A log2n+1B log2n-1C log2nD log2n+1二、填空题每空1分共 20分1.设有n个无序的记录关键字,则直接插入排序的时间复杂度为________,快速排序的平均时间复杂度为_________;2.设指针变量p指向双向循环链表中的结点X,则删除结点X需要执行的语句序列为_________________________________________________________设结点中的两个指针域分别为llink和rlink;3.根据初始关键字序列19,22,01,38,10建立的二叉排序树的高度为____________; 4.深度为k的完全二叉树中最少有____________个结点;5.设初始记录关键字序列为K1,K2,…,K n,则用筛选法思想建堆必须从第______个元素开始进行筛选;6.设哈夫曼树中共有99个结点,则该树中有_________个叶子结点;若采用二叉链表作为存储结构,则该树中有_____个空指针域;7.设有一个顺序循环队列中有M个存储单元,则该循环队列中最多能够存储________个队列元素;当前实际存储________________个队列元素设头指针F指向当前队头元素的前一个位置,尾指针指向当前队尾元素的位置;8.设顺序线性表中有n个数据元素,则第i个位置上插入一个数据元素需要移动表中_______个数据元素;删除第i个位置上的数据元素需要移动表中_______个元素; 9.设一组初始记录关键字序列为20,18,22,16,30,19,则以20为中轴的一趟快速排序结果为______________________________;10.设一组初始记录关键字序列为20,18,22,16,30,19,则根据这些初始关键字序列建成的初始堆为________________________;11.设某无向图G中有n个顶点,用邻接矩阵A作为该图的存储结构,则顶点i和顶点j互为邻接点的条件是______________________;12.设无向图对应的邻接矩阵为A,则A中第i上非0元素的个数_________第i列上非0元素的个数填等于,大于或小于;13.设前序遍历某二叉树的序列为ABCD,中序遍历该二叉树的序列为BADC,则后序遍历该二叉树的序列为_____________;14.设散列函数Hk=k mod p,解决冲突的方法为链地址法;要求在下列算法划线处填上正确的语句完成在散列表hashtalbe中查找关键字值等于k的结点,成功时返回指向关键字的指针,不成功时返回标志0;typedef struct node {int key; struct node next;} lklist;void createlkhashlklist hashtable{int i,k; lklist s;fori=0;i<m;i++_____________________;fori=0;i<n;i++{s=lklist mallocsizeoflklist; s->key=ai;k=ai % p; s->next=hashtablek;_______________________;}}三、计算题每题10分,共30分1、画出广义表LS= , e , a , b , c , d 的头尾链表存储结构;2、下图所示的森林:1 求树a的先根序列和后根序列;2 求森林先序序列和中序序列;3将此森林转换为相应的二叉树;(a)(b)3、设散列表的地址范围是 0..9 ,散列函数为Hkey= key 2 +2MOD 9,并采用链表处理冲突,请画出元素7、4、5、3、6、2、8、9依次插入散列表的存储结构;四、算法设计题每题10分,共30分1.设单链表中有仅三类字符的数据元素大写字母、数字和其它字符,要求利用原单链表中结点空间设计出三个单链表的算法,使每个单链表只包含同类字符;2.设计在链式存储结构上交换二叉树中所有结点左右子树的算法;3.在链式存储结构上建立一棵二叉排序树;数据结构试卷五一、选择题20分1.数据的最小单位是 ;A 数据项B 数据类型C 数据元素D 数据变量2.设一组初始记录关键字序列为50,40,95,20,15,70,60,45,则以增量d=4的一趟希尔排序结束后前4条记录关键字为 ;A 40,50,20,95B 15,40,60,20C 15,20,40,45D 45,40,15,203.设一组初始记录关键字序列为25,50,15,35,80,85,20,40,36,70,其中含有5个长度为2的有序子表,则用归并排序的方法对该记录关键字序列进行一趟归并后的结果为;A 15,25,35,50,20,40,80,85,36,70B 15,25,35,50,80,20,85,40,70,36C 15,25,35,50,80,85,20,36,40,70D 15,25,35,50,80,20,36,40,70,854.函数subs tr“DATASTRUCTURE”,5,9的返回值为 ;A “STRUCTURE”B “DATA”C “ASTRUCTUR”D “DATASTRUCTURE”5.设一个有序的单链表中有n个结点,现要求插入一个新结点后使得单链表仍然保持有序,则该操作的时间复杂度为 ;A Olog2nB O1C On2D On6.设一棵m叉树中度数为0的结点数为N0,度数为1的结点数为N l,……,度数为m的结点数为Nm,则N0= ;A N l+N2+……+NmB l+N2+2N3+3N4+……+m-1NmC N2+2N3+3N4+……+m-1NmD 2N l+3N2+……+m+1Nm7.设有序表中有1000个元素,则用二分查找查找元素X最多需要比较次;A 25B 10C 7D 18.设连通图G中的边集E={a,b,a,e,a,c,b,e,e,d,d,f,f,c},则从顶点a出发可以得到一种深度优先遍历的顶点序列为 ;A abedfcB acfebdC aebdfcD aedfcb9.设输入序列是1、2、3、……、n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出元素是 ;A n-iB n-1-iC n+1-iD 不能确定10 设一组初始记录关键字序列为45,80,55,40,42,85,则以第一个记录关键字45为基准而得到一趟快速排序的结果是 ;A 40,42,45,55,80,83B 42,40,45,80,85,88C 42,40,45,55,80,85D 42,40,45,85,55,80二、填空题共20分1.设有一个顺序共享栈S0:n-1,其中第一个栈项指针top1的初值为-1,第二个栈顶指针top2的初值为n,则判断共享栈满的条件是____________________;2.在图的邻接表中用顺序存储结构存储表头结点的优点是____________________;3.设有一个n阶的下三角矩阵A,如果按照行的顺序将下三角矩阵中的元素包括对角线上元素存放在nn+1个连续的存储单元中,则Aij与A00之间有_______个数据元素;4.栈的插入和删除只能在栈的栈顶进行,后进栈的元素必定先出栈,所以又把栈称为__________表;队列的插入和删除运算分别在队列的两端进行,先进队列的元素必定先出队列,所以又把队列称为_________表;5.设一棵完全二叉树的顺序存储结构中存储数据元素为ABCDEF,则该二叉树的前序遍历序列为___________,中序遍历序列为___________,后序遍历序列为___________;6.设一棵完全二叉树有128个结点,则该完全二叉树的深度为________,有__________个叶子结点;7.设有向图G的存储结构用邻接矩阵A来表示,则A中第i行中所有非零元素个数之和等于顶点i的________,第i列中所有非零元素个数之和等于顶点i的__________;8.设一组初始记录关键字序列k1,k2,……,k n是堆,则对i=1,2,…,n/2而言满足的条件为_______________________________;9.下面程序段的功能是实现冒泡排序算法,请在下划线处填上正确的语句;void bubbleint rn{fori=1;i<=n-1; i++{forexchange=0,j=0; j<_____________;j++if rj>rj+1{temp=rj+1;______________;rj=temp;exchange=1;}if exchange==0 return;}}10.下面程序段的功能是实现二分查找算法,请在下划线处填上正确的语句;struct record{int key; int others;};int bisearchstruct record r , int k{int low=0,mid,high=n-1;whilelow<=high{________________________________;ifrmid.key==k returnmid+1; else if____________ high=mid-1;else low=mid+1;}return0;}三、应用题32分1.设某棵二叉树的中序遍历序列为DBEAC,前序遍历序列为ABDEC,要求给出该二叉树的的后序遍历序列;2.设无向图G如右图所示,给出该图的最小生成树上边的集合并计算最小生成树各边上的权值之和;3.设一组初始记录关键字序列为15,17,18,22,35,51,60,要求计算出成功查找时的平均查找长度;4.设散列表的长度为8,散列函数Hk=k mod 7,初始记录关键字序列为25,31,8,27,13,68,要求分别计算出用线性探测法和链地址法作为解决冲突方法的平均查找长度;四、算法设计题28分1.设计判断两个二叉树是否相同的算法;2.设计两个有序单链表的合并排序算法;数据结构试卷六一、选择题30分1.设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为 ;A 20B 30C 40D 452.执行一趟快速排序能够得到的序列是 ;A 41,12,34,45,27 55 72,63B 45,34,12,41 55 72,63,27C 63,12,34,45,27 55 41,72D 12,27,45,41 55 34,63,723.设一条单链表的头指针变量为head且该链表没有头结点,则其判空条件是;A head==0B head->next==0C head->next==headD head=04.时间复杂度不受数据初始状态影响而恒为Onlog2n的是 ;A 堆排序B 冒泡排序C 希尔排序D 快速排序5.设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是 ;A 空或只有一个结点B 高度等于其结点数C 任一结点无左孩子D 任一结点无右孩子6.一趟排序结束后不一定能够选出一个元素放在其最终位置上的是 ;A 堆排序B 冒泡排序C 快速排序D 希尔排序7.设某棵三叉树中有40个结点,则该三叉树的最小高度为 ;A 3B 4C 5D 68.顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为 ;A OnB On2C On1/2D O1og2n9.二路归并排序的时间复杂度为 ;A OnB On2C Onlog2nD O1og2n10. 深度为k的完全二叉树中最少有个结点;A 2k-1-1B 2k-1C 2k-1+1D 2k-111.设指针变量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 On+eB On2C OneD On313.设某哈夫曼树中有199个结点,则该哈夫曼树中有个叶子结点;A 99B 100C 101D 10214.设二叉排序树上有n个结点,则在二叉排序树上查找结点的平均时间复杂度为 ;A OnB On2C Onlog2nD O1og2n15.设用邻接矩阵A表示有向图G的存储结构,则有向图G中顶点i的入度为 ;A 第i行非0元素的个数之和B 第i列非0元素的个数之和C 第i行0元素的个数之和D 第i列0元素的个数之和二、判断题20分1.调用一次深度优先遍历可以访问到图中的所有顶点;2.分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关;3.冒泡排序在初始关键字序列为逆序的情况下执行的交换次数最多;4.满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树;5.设一棵二叉树的先序序列和后序序列,则能够唯一确定出该二叉树的形状;6.层次遍历初始堆可以得到一个有序的序列;7.设一棵树T可以转化成二叉树BT,则二叉树BT中一定没有右子树;8.线性表的顺序存储结构比链式存储结构更好;9.中序遍历二叉排序树可以得到一个有序的序列;10.快速排序是排序算法中平均性能最好的一种排序;三、填空题30分1.fori=1,t=1,s=0;i<=n;i++ {t=ti;s=s+t;}的时间复杂度为_________;2.设指针变量p指向单链表中结点A,指针变量s指向被插入的新结点X,则进行插入操作的语句序列为__________________________设结点的指针域为next;3.设有向图G的二元组形式表示为G =D,R,D={1,2,3,4,5},R={r},r={<1,2>,<2,4>,<4,5>,<1,3>,<3,2>,<3,5>},则给出该图的一种拓扑排序序列__________;4.设无向图G中有n个顶点,则该无向图中每个顶点的度数最多是_________;5.设二叉树中度数为0的结点数为50,度数为1的结点数为30,则该二叉树中总共有_______个结点数;6.设F和R分别表示顺序循环队列的头指针和尾指针,则判断该循环队列为空的条件为_____________________;7.设二叉树中结点的两个指针域分别为lchild和rchild,则判断指针变量p所指向的结点为叶子结点的条件是_____________________________________________;8.简单选择排序和直接插入排序算法的平均时间复杂度为___________;9.快速排序算法的空间复杂度平均情况下为__________,最坏的情况下为__________; 10.散列表中解决冲突的两种方法是_____________和_____________;四、算法设计题20分1.设计在顺序有序表中实现二分查找的算法;2.设计判断二叉树是否为二叉排序树的算法;3.在链式存储结构上设计直接插入排序算法数据结构试卷七一、选择题30分1.设某无向图有n个顶点,则该无向图的邻接表中有个表头结点;A 2nB nC n/2D nn-12.设无向图G中有n个顶点,则该无向图的最小生成树上有条边;A nB n-1C 2nD 2n-13.设一组初始记录关键字序列为60,80,55,40,42,85,则以第一个关键字45为基准而得到的一趟快速排序结果是 ;A 40,42,60,55,80,85B 42,45,55,60,85,80C 42,40,55,60,80,85D 42,40,60,85,55,804.二叉排序树可以得到一个从小到大的有序序列;A 先序遍历B 中序遍历C 后序遍历D 层次遍历5.设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i结点的左孩子结点的编号为 ;A 2i+1B 2iC i/2D 2i-16.程序段s=i=0;do {i=i+1;s=s+i;}whilei<=n;的时间复杂度为 ;A OnB Onlog2nC On2D On3/27.设带有头结点的单向循环链表的头指针变量为head,则其判空条件是 ;A head==0B head->next==0C head->next==headD head=08.设某棵二叉树的高度为10,则该二叉树上叶子结点最多有 ;A 20B 256C 512D 10249.设一组初始记录关键字序列为13,18,24,35,47,50,62,83,90,115,134,则利用二分法查找关键字90需要比较的关键字个数为 ;A 1B 2C 3D 410.设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为 ;A top=top+1;B top=top-1;C top->next=top;D top=top->next;二、判断题20分1.不论是入队列操作还是入栈操作,在顺序存储结构上都需要考虑“溢出”情况; 2.当向二叉排序树中插入一个结点,则该结点一定成为叶子结点;3.设某堆中有n个结点,则在该堆中插入一个新结点的时间复杂度为Olog2n;4.完全二叉树中的叶子结点只可能在最后两层中出现;5.哈夫曼树中没有度数为1的结点;6.对连通图进行深度优先遍历可以访问到该图中的所有顶点;7.先序遍历一棵二叉排序树得到的结点序列不一定是有序的序列;8.由树转化成二叉树,该二叉树的右子树不一定为空;9.线性表中的所有元素都有一个前驱元素和后继元素;10.带权无向图的最小生成树是唯一的;三、填空题30分1.设指针变量p指向双向链表中的结点A,指针变量s指向被插入的结点X,则在结点A的后面插入结点X的操作序列为_________=p;s->right=p->right;__________=s;p->right->left=s;设结点中的两个指针域分别为left和right;2.设完全有向图中有n个顶点,则该完全有向图中共有________条有向条;设完全无向图中有n个顶点,则该完全无向图中共有________条无向边;3.设关键字序列为K l,K2,…,K n,则用筛选法建初始堆必须从第______个元素开始进行筛选;4.解决散列表冲突的两种方法是________________和__________________;5.设一棵三叉树中有50个度数为0的结点,21个度数为2的结点,则该二叉树中度数为3的结点数有______个;6.高度为h的完全二叉树中最少有________个结点,最多有________个结点;7.设有一组初始关键字序列为24,35,12,27,18,26,则第3趟直接插入排序结束后的结果的是__________________________________;8.设有一组初始关键字序列为24,35,12,27,18,26,则第3趟简单选择排序结束后的结果的是__________________________________;9.设一棵二叉树的前序序列为ABC,则有______________种不同的二叉树可以得到这种序列;10.下面程序段的功能是实现一趟快速排序,请在下划线处填上正确的语句;struct record {int key;datatype others;};void quickpassstruct record r, int s, int t, int &i{int j=t; struct record x=rs; i=s;whilei<j{while i<j && rj.key> j=j-1; if i<j {ri=rj;i=i+1;}while ____________________ i=i+1; if i<j {rj=ri;j=j-1;}}_________________;}四、算法设计题20分1.设计在链式结构上实现简单选择排序算法;2.设计在顺序存储结构上实现求子串算法;3.设计求结点在二叉排序树中层次的算法;数据结构试卷八一、选择题30分1.字符串的长度是指;A 串中不同字符的个数B 串中不同字母的个数C 串中所含字符的个数D 串中不同数字的个数2.建立一个长度为n的有序单链表的时间复杂度为A OnB O1C On2D Olog2n3.两个字符串相等的充要条件是 ;A 两个字符串的长度相等B 两个字符串中对应位置上的字符相等C 同时具备A和B两个条件D 以上答案都不对4.设某散列表的长度为100,散列函数Hk=k % P,则P通常情况下最好选择 ;A 99B 97C 91D 935.在二叉排序树中插入一个关键字值的平均时间复杂度为 ;A OnB O1og2nC Onlog2nD On26.设一个顺序有序表A1:14中有14个元素,则采用二分法查找元素A4的过程中比较元素的顺序为 ;A A1,A2,A3,A4B A1,A14,A7,A4C A7,A3,A5,A4D A7,A5 ,A3,A47.设一棵完全二叉树中有65个结点,则该完全二叉树的深度为 ;A 8B 7C 6D 58.设一棵三叉树中有2个度数为1的结点,2个度数为2的结点,2个度数为3的结点,则该三叉链权中有个度数为0的结点;A 5B 6C 7D 89.设无向图G中的边的集合E={a,b,a,e,a,c,b,e,e,d,d,f,f,c},则从顶点a出发进行深度优先遍历可以得到的一种顶点序列为 ;A aedfcbB acfebdC aebcfdD aedfbc10.队列是一种的线性表;A 先进先出B 先进后出C 只能插入D 只能删除二、判断题20分1.如果两个关键字的值不等但哈希函数值相等,则称这两个关键字为同义词;2.设初始记录关键字基本有序,则快速排序算法的时间复杂度为Onlog2n;3.分块查找的基本思想是首先在索引表中进行查找,以便确定给定的关键字可能存在的块号,然后再在相应的块内进行顺序查找;4.二维数组和多维数组均不是特殊的线性结构;5.向二叉排序树中插入一个结点需要比较的次数可能大于该二叉树的高度;6.如果某个有向图的邻接表中第i条单链表为空,则第i个顶点的出度为零;7.非空的双向循环链表中任何结点的前驱指针均不为空;8.不论线性表采用顺序存储结构还是链式存储结构,删除值为X的结点的时间复杂度均为On;9.图的深度优先遍历算法中需要设置一个标志数组,以便区分图中的每个顶点是否被访问过;10.稀疏矩阵的压缩存储可以用一个三元组表来表示稀疏矩阵中的非0元素;三、填空题30分1.设一组初始记录关键字序列为49,38,65,97,76,13,27,50,则以d=4为增量的一趟希尔排序结束后的结果为_____________________________;2.下面程序段的功能是实现在二叉排序树中插入一个新结点,请在下划线处填上正确的内容;typedef struct node{int data;struct node lchild;struct node rchild;}bitree;void bstinsertbitree &t,int k{if t==0 {____________________________;t->data=k;t->lchild=t->rchild=0;}else if t->data>k bstinsertt->lchild,k;else__________________________;}3.设指针变量p指向单链表中结点A,指针变量s指向被插入的结点X,则在结点A的后面插入结点X需要执行的语句序列:s->next=p->next; _________________;;4.设指针变量head指向双向链表中的头结点,指针变量p指向双向链表中的第一个结点,则指针变量p和指针变量head之间的关系是p=_________和head=__________设结点中的两个指针域分别为llink和rlink;5.设某棵二叉树的中序遍历序列为ABCD,后序遍历序列为BADC,则其前序遍历序列为__________;6.完全二叉树中第5层上最少有__________个结点,最多有_________个结点;7.设有向图中不存在有向边<V i,V j>,则其对应的邻接矩阵A中的数组元素Aij的值等于____________;8.设一组初始记录关键字序列为49,38,65,97,76,13,27,50,则第4趟直接选择排序结束后的结果为_____________________________;。

云南省-()专升本十套-数据结构(试题及答案)

云南省-()专升本十套-数据结构(试题及答案)

数据结构试卷(一)一、单选题(每题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进制表示。

A.688 B.678 C.692 D.6965.树最适合用来表示( )。

A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对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的元素有()个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。

A.5B.6C.7D.8二、填空题(每空1分,共26分)1.通常从四个方面评价算法的质量:_________、_________、_________和_________。

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

云南专升本-数据结构历年试题及答案

云南专升本-数据结构历年试题及答案

1一、单项选择题1.算法指的是( D ) D .解决问题的有限运算序列2.线性表采用链式存储时,结点的存储地址( B )B .连续与否均可3.将长度为n 的单链表链接在长度为m 的单链表之后的算法的时间复杂度为( C )A .O (1)B .O (n )C .O (m )D .O (m+n)4.由两个栈共享一个向量空间的好处是:( B ) B .节省存储空间,降低上溢发生的机率5.设数组data[m]作为循环队列SQ 的存储空间,front 为队头指针,rear 为队尾指针,则执行出队操作后其头指针front 值为( D ) D .front=(front+1)%m6.如下陈述中正确的是( A ) A .串是一种特殊的线性表7.若目标串的长度为n,模式串的长度为[n/3],则执行模式匹配算法时,在最坏情况下的时间复杂度是( C ) C .O (n 2)8.一个非空广义表的表头( D ) D .可以是子表或原子9对应的稀疏矩阵是( A ) ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡--00000405000000076080.A10.在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,则度为0的结点个数为( C ) C .611.在含n 个顶点和e 条边的无向图的邻接矩阵中,零元素的个数为( D ) D .n 2-2e12.假设一个有n 个顶点和e 条弧的有向图用邻接表表示,则删除与某个顶点v i 相关的所有弧的时间复杂度是( C ) C .O(n+e)13.用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下:20,15,21,25,47,27,68,35,8415,20,21,25,35,27,47,68,8415,20,21,25,27,35,47,68,84则所采用的排序方法是( D ) D .快速排序14.适于对动态查找表进行高效率查找的组织结构是( C ) C .三叉排序树15.不定长文件是指(B ) B .记录的长度不固定二、填空题16.数据的逻辑结构是从逻辑关系上描述数据,它与数据的 存储(存储结构) 无关,是独立于计算机的.17.在一个带头结点的单循环链表中,p 指向尾结点的直接前驱,则指向头结点的指针head可用p 表示为head= p —〉next —>next 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
14.若对象ra和rb中至少有一个属于用户定义的类型,则执行ra==rb时,需要调用 等于
号(==) 重载函数,该函数第一个参数应与 ra ,的类型相同,第二个参数应与rb 的类型相同。
15.从一维数组a[n]中顺序查找出一个最大值元素的时间复杂度为 O(n) ,输出一个二维数组b[m][n]中所有元素值的时间复杂度为 O(m*n) 。
三、应用题
1.设计二次多项式ax2+bx+c的一种抽象数据类型,假定起名为QIAdratic,该类型的数据部分分为三个系数项a、b和c,操作部分为:(请写出下面每一个操作的具体实现)。
⑴ 初始化数据成员ab和c(假定用记录类型Quadratie定义成员),每个数据成员的默认值为0。
Quadratic InitQuadratic(float aa=0,float bb=0,float cc=0);
}
A O(1) B O(n) C O(n2) D O(n!)
二、填空题
1.数据的逻辑结构被除数分为 集合结构 、 线性结构 、 树型结构 和 图形结构 四种。
2.数据的存储结构被分为 顺序结构 、 链接结构 、 索引结构 和 散列结构 四种。
3.在线性结构、树型结构和图形结构中,前驱和后继结点之间分别存在着 1对1 、 1对N 和 M对N 的关系。
A n2 B n2/2 C n(n+1) D n(n+1)/2
6.下面算法的时间复杂度为 B 。
int f(unsigned int n){
if(n==0||n==1) return 1;
Else return n*f(n-1);
1、假设有如下关键码及其散列函数值:
key ABCD ABDC ACBD ACDB BDAC BACD CADB CBDA
h(key) 4 4 0 1 2 3 6 5
基本存储区编址为0--7,请用建立分离的同义词子表的方法解决碰撞问题,画出其存储图式。
解:
2、下面列举的是常用的排序方法:直接插入排序,二分法插入排序,起泡排序,快速排序,直接选择排序,堆排序,归并排序。试问,哪些排序方法是稳定的?
s=s+p;
}
17.一个算法的时间复杂度为(3n2+2nlog2n+4n-7)/(5n),其数量级表示为 O(n) 。
18.从一个数组a[7]中顺序查找元素时,假定查找第一个元素a[0]的概率为1/3,查找第二个元素a[1]的概率为1/4,查找其余元素的概率均相同,则在查找成功时同元素的平均比较次数为 35/12 。
解:
3、设根结点的层数为0,定义树的高度为树中层数最大的结点的层数加1,试问高度为k≥1、非叶结点的度数等于1的树有多少棵?
解:
4、给出下列二叉树的前序序列。
解:
5、设二叉树t的对称序序列为BADCE,后序序列为BDECA,请给出二叉树。
解:
五、综合题(每题4分,共16分)
11.一个数组a所占有的存储空间的大小即数组长度为 sizeof(a) ,下标为i的元数a[i]的存储地址为 a+1 ,或者为 (char*)a+i*sizeof(a[i]) 。
12.函数重载要求 参数类型 、 参数个数 或 排列顺序 有所不同。
13.对于双目操作符,其重载函数带有 2 个参数,其中至少有一个为 用户自定义的类型。
三、单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,请把你认为正确答案的题号,填入题干的括号内。多选不给分。每题3分,共9分)
1、对于顺序存储的队列,存储空间大小为n,头指针为F,尾指针为R。若在逻辑上看一个环,则队列中元素的个数为......................( d)
二、填空题(每空1分,共10分)
1、在树结构里,有且仅有一个结点没有前驱,称为根。非根结点有且仅有一个( 前驱),且存在一条从根到该结点的( 路径)。
2、评价数据结构的两条基本标准是:(存贮需要量 )和(运算的时间效率 )。
3、对于顺序存储的栈,因为栈的空间是有限的,在进行(push )运算时,可能发生栈的上溢,在进行( pop)运算时,可能发生栈的下溢。
3、从本质上看,文件是一种非线性结构。..................(n )
4、线性的数据结构可以顺序存储,也可以链接存储。非线性的数据结构只能链接存储。.......................( n)
5、栈和队列逻辑上都是线性表。..........................( y)
4、对于单链表形式的队列,其空队列的F指针和R指针都等于(null )。
5、若S1=‘linked£st",S2="ring",则S1//S2=( linked£string)。
6、设根结点的层数为0,定义树的高度为树中层数最大的结点的层数加1。则高度为k的二叉树具有的结点数目,最少为(k ),最多为((2^k)-1 )。
double=RECORD
head,rear:pointer
END;
VAR DL:double;
p,q:pointer;
设DL.head和DL.rear已分别指向该双链表的头结点和尾结点。下述算法应实现的操作为:在信息值为x0的结点(设该结点一定存在)之后,插入信息值为x1的新结点。试填充算法中的空框,使该算法正确。
数据结构练习题
第一章绪论
一、单选题
1.一个数组元素a[i]与 A 的表示等价。
A *(a+i) B a+i C *a+i D &a+i
2.对于两个函数,若函数名相同,但只是 C 不同则不是重载函数。
12、一般树和二叉树的结点数目都可以为0。................( n)
13、在拓朴排序序列中,任意两个相继结点Vi和Vj都存在从Vi到Vj的路径。(n )
14、网络的最小代价生成树是唯一的。.....................(n )
15、磁带是顺序存取的外存储设备。.......................(y? )
16.在下面程序段中,s=s+p语句的执行次数为 n ,p*=j
语句的执行次数为n(n+1)/2,该程序段的时间复杂度为 O(n2) 。
int i=0,s=0;
while(++i<=n){
int p=1;
for(int j=1;j<=i;j++) P*=j;
种方法之中的一种能满足该串请求,则也一定能用另一种方法满足该串请求。(n )
9、多维数组是向量的推广。..............................(y? )
10、设串S=a1a2...ai...aj...an,则有ord(ai)>ord(aj)。....( n)
11、设串S的长度为n,则S的子串个数为n(n+1)/2。...........(n )
一、是非题(下列各题,你认为正确的,请在题干的括号内打“√”,错的打“×”。每题1分,共15分)
1、 数据结构概念包括数据之间的逻辑结构,数据在计算机中的存储方式和数据的运算三个方面...............( y)
2、线性表中的每个结点最多只有一个前驱和一个后继。......( y)
⑴.R-F ⑵.n+R-F ⑶.(R-F+1)mod n ⑷.(n+R-F)mod n
2、n个记录直接插入排序所需的记录最小移动次数是.......(a )
⑴.2(n-1) ⑵.2n ⑶.(n+3)(n-2)/2 ⑷.n2/2
a[i][j]=i*j;
A O(m2) B O(n2) C O(m*n) D O(m+n)
5.执行下面程序段时,执行S语句的次数为 D 。
for(int i=1;i<=n;i++)
for(int j=1; j<=i;j++)
S;
解:
六、算法设计题(第1、2题,每题8分,第3题6分,第4题10分,共32分)
1、双链表结点类型和变量说明如下:
TYPE pointer=↑node;
node=RECORD
info:datatype;
llink,rlink:pointer
END;
解:
3、设有50个值不同的元素存于内存一片连续单元中,若用顺序选择的方法,选出这50个元素的最大值和最小值则至少需要97次比较。请给出另一种选出最大值和最小值的方法,其比较次数一定少于97次,说明该方法的操作过程和比较次数。
解:
4、快速排序在什么情况下,所需记录之关键码的比较次数为最多?此时记录之关键码比较次数应为多少?
8.当需要进行标准I/O操作时,则应在程序文件中包含 iostream.h 头文件,当需要进行文件I/O操作时,则应在程序文件中包含 fstream.h 头文件。
9.在包含有 stdlib.h 头文件的程序文件中,使用 rand()%21 能够产生0-20之间的一个随机数。
10.一个记录r理论上占有的存储空间的大小等于所有域的 长度之和 ,实际上占有的存储空间的大小即记录长度为 sizeof(r) 。
3、现有一“遗传”关系:设x是y的父亲,则x可以把它的属性遗传给y。表示该遗传关系最适合的数据结构为..............................b
⑴.向量 ⑵.树 ⑶.图 ⑷.二叉树
四、简单应用题(第1题6分,其它题每题3分,共18分)
4.一种抽象数据类型包括 数据 和 操作 两个部分。
相关文档
最新文档