2012-2013(1)数据结构A类笔试答案

合集下载

数据结构考试卷试题及含答案学习资料

数据结构考试卷试题及含答案学习资料

2012 年数据结构期末考试题及答案一、选择题1.在数据结构中,从逻辑上能够把数据结构分为C。

A.动向结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外面结构2.数据结构在计算机内存中的表示是指A。

A .数据的储存结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系3.在数据结构中,与所使用的计算机没关的是数据的A结构。

A.逻辑B.储存C.逻辑和储存D.物理4.在储存数据时,往常不单要储存各数据元素的值,并且还要储存C。

A.数据的办理方法B.数据元素的种类C.数据元素之间的关系D.数据的储存方法5.在决定选用何种储存结构时,一般不考虑A。

A.各结点的值怎样B.结点个数的多少C.对数占有哪些运算D.所用的编程语言实现这类结构能否方便。

6.以下说法正确的选项是D。

A.数据项是数据的基本单位B.数据元素是数据的最小单位C.数据结构是带结构的数据项的会合D.一些表面上很不同样的数据能够有同样的逻辑结构7.算法剖析的目的是C,算法剖析的两个主要方面是A。

(1)A .找出数据结构的合理性B.研究算法中的输入和输出的关系C.剖析算法的效率以求改良C.剖析算法的易读性和文档性(2)A.空间复杂度和时间复杂度B.正确性和简洁性C.可读性和文档性D.数据复杂性和程序复杂性8.下边程序段的时间复杂度是O(n2)。

s=0;for( I = 0; i < n; i++)for( j=0;j <n;j++)s += B[i][j] ;sum = s ;9.下边程序段的时间复杂度是O(n*m )。

for( i = 0; i <n; i++)for( j=0;j <m;j ++)A[i][j] = 0;10.下边程序段的时间复杂度是O(log3n)。

i = 0;while(i <= n)i = i * 3 ;11.在以下的表达中,正确的选项是B。

A.线性表的次序储存结构优于链表储存结构B.二维数组是其数据元素为线性表的线性表C.栈的操作方式是先进先出D.行列的操作方式是先进后出12.往常要求同一逻辑结构中的全部数据元素拥有同样的特征,这意味着B。

(完整word版)数据结构试卷及答案(word文档良心出品)

(完整word版)数据结构试卷及答案(word文档良心出品)

注意事项:1、下面关于串的叙述中,哪一个是不正确的?( )A .串是字符的有限序列B .空串是由空格构成的串C .模式匹配是串的一种重要运算D .串既可以采用顺序存储,也可以采用链式存储 2、设无向图的顶点个数为n ,则该图最多有( )条边。

A .n-1B .n(n-1)/2C . n(n+1)/2D .0 3、以下数据结构中,( )是非线性数据结构。

A .树B .字符串C .队列D .栈 4、下面关于线性表的叙述中,错误的是哪一个?( )A .线性表采用顺序存储,必须占用一片连续的存储单元。

B .线性表采用顺序存储,便于进行插入和删除操作。

C .线性表采用链接存储,不必占用一片连续的存储单元。

D .线性表采用链接存储,便于插入和删除操作。

5、假设以数组A[m]存放循环队列的元素,其头尾指针分别为front 和rear ,则当前队列中的元素个数为( )。

A .(rear-front+m)%mB .rear-front+1C .(front-rear+m)%mD .(rear-front)%m6、在单链表指针为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; 7、设栈的输入序列是1,2,3,4,则( )不可能是其出栈序列。

A .1,2,4,3B .2,1,3,4C .1,4,3,2D .4,3,1,2, 8、广义表(a,(b,c),d,e )的表头和表尾分别为( )。

A .a 和(b,c),d,e B .(a )和(b,c),d,eC .a 和 ((b,c),d,e)D .(a) 和((b,c),d,e)9、栈和队都是( )A .顺序存储的线性结构B .链式存储的非线性结构C .限制存取点的线性结构D .限制存取点的非线性结构 10、从逻辑上可以把数据结构分为( )两大类。

大学1数据结构试题及答案-数据结构A参考答案

大学1数据结构试题及答案-数据结构A参考答案

20XX年复习资料大学复习资料专业:班级:科目老师:日期:广东商学院试题参考答案及评分标准20XX12-20XX13 学年第一学期课程名称: 数据结构(A 卷) 课程代码:20XXXX0XX20XXXX0XX 课程负责人:罗勇题号1 2 3 4 5 6 7 8 9 20XXXX 答案B A AC BACADC题号1 2 3 4 5 6 7 8 9 20XXXX 答案C B C B DDABAB题号1 2 3 4 5 6 7 8 9 20XXXX答案× √ × √ √ × × × √ ×四、算法分析(每小题5分,共20XXXX 分)1.(1) ABC_1是直接插入排序方法。

(1分) 最坏情形下,)(2/2/)1)(2(i KCN 222n O n n n ni =≈-+==∑= (1分))(2/2/)1)(4()21(RMN 22n2n O n n n i i =≈-+=+-=∑= (1分)(2) 排序过程如下:(2分)初始key r[0] (65) 38 80 50 20XXXX 27i=2 38 (38 65) 80 50 20XXXX 27 i=3 38 (38 65 80) 50 20XXXX 27 i=4 50 (38 50 65 80) 20XXXX 27i=5 20XXXX (20XXXX 38 50 65 80) 27 i=6 27 (20XXXX 27 38 50 65 80) (注:哨兵单元不正确扣1分,已排序列不正确扣1分)2.(1) 算法ABC_2功能:以中序遍历的次序,按关键字值递增的顺序依次输出值小于等于给定值60的结点。

若找到值大于60的结点,提前退出算法。

(3分)(2)20XXXX 20XX 35 45 55(每个值输出后换行)(2分)五、算法设计(共10分)(1)写出单链表存储结构的类型定义。

Typedef struct {int data; (1分)struct LNode *next; (1分)} LNode, *LinkList; (1分)(2)status Delete_L(LinkList &L, int min, int max) { LinkList p,q,s;p=L;while (p&&p->next->data<=min) (2分)p=p->next;if (!p) return ERROR;q=p->next;while (q&&q->data<=max) (3分){ s=q;q=q->next;free(s);} //whilep->next=q; (2分)return OK;}//Delete_L教师(签名):年月日。

数据结构考试及答案

数据结构考试及答案

数据结构考试及答案一、简介数据结构是计算机科学中的基础课程之一,旨在让学生掌握和运用各种数据结构的原理、方法和技巧。

本文将为大家介绍数据结构考试的内容和答案。

二、线性表1. 顺序表顺序表是一种连续存储的线性表,通过下标来访问元素。

常用的操作有插入、删除和查找。

其时间复杂度为O(n)。

2. 链表链表是一种离散存储的线性表,通过指针来连接各个节点。

常见的链表有单向链表和双向链表。

插入和删除操作的时间复杂度为O(1),查找的时间复杂度为O(n)。

三、栈和队列1. 栈栈是一种特殊的线性表,具有先进后出(LIFO)的特点。

常用的操作有压栈和出栈,时间复杂度为O(1)。

2. 队列队列是一种特殊的线性表,具有先进先出(FIFO)的特点。

常用的操作有入队和出队,时间复杂度为O(1)。

四、树1. 二叉树二叉树是一种每个节点最多有两个子节点的树结构。

常见的操作有插入、删除和查找。

平均情况下,插入、删除和查找操作的时间复杂度为O(logn)。

2. 平衡二叉树平衡二叉树是一种保持左右子树高度差不超过1的二叉树。

常用的平衡二叉树有AVL树和红黑树。

五、图图是由节点和边构成的一种非线性数据结构。

常用的操作包括插入节点、插入边、删除节点、删除边以及查找节点的邻接节点等。

六、算法答案1. 插入排序插入排序是通过将元素逐个插入已排序的部分中,从而完成排序的算法。

时间复杂度为O(n^2)。

2. 快速排序快速排序是通过选择一个基准元素,将数组分为两部分,然后对这两部分分别进行快速排序的算法。

时间复杂度为O(nlogn)。

3. 广度优先搜索广度优先搜索是一种图遍历算法,常用于查找最短路径。

通过先访问离当前节点最近的节点,再逐渐向外扩展。

4. 深度优先搜索深度优先搜索是一种图遍历算法,常用于查找可达性问题。

通过先访问最后一个邻接节点,再逐渐返回。

七、总结本文介绍了数据结构考试的内容和答案,涵盖了线性表、栈和队列、树、图以及常见的排序和搜索算法。

数据结构考试题及答案

数据结构考试题及答案

数据结构考试题及答案一、选择题1. 下列哪个不属于线性数据结构?A. 栈B. 队列C. 数组D. 链表答案:C2. 在单链表中,删除一个节点的时间复杂度是多少?A. O(1)B. O(n)C. O(logn)D. O(nlogn)答案:A3. 以下哪种数据结构的插入和删除操作都具有O(logn)的时间复杂度?A. 树B. 堆C. 栈D. 队列答案:B二、填空题1. 栈是一种__________(后进先出)的数据结构。

答案:后进先出2. 在链表中,头节点的前驱指针指向__________。

答案:空指针或者NULL3. 哈希表中冲突解决的方法有__________和开放地址法。

答案:链地址法三、简答题1. 请简述树与图的区别。

答案:树是一种特殊的图,它们的主要区别在于图中任意两个节点之间都可能存在边,而树中任意两个节点之间只有一条路径。

此外,树是无环图,而图可以有环。

2. 请解释栈的应用场景,并举例说明。

答案:栈常用于函数调用和表达式求值等场景。

例如,在编程中,当一个函数被调用时,相关的信息会被压入栈中,执行完毕后再弹出。

另外,栈还可以用于实现撤销操作,在文本编辑器中,当我们进行一系列操作后,可以将每一步的操作记录在栈中,需要撤销时,只需要依次弹出栈顶元素即可。

四、编程题请使用C语言实现一个栈的数据结构,并实现栈的基本操作(入栈、出栈、判空、获取栈顶元素等)。

答案略。

结语本文包含了数据结构考试题及答案,从选择题到填空题再到简答题和编程题,涵盖了数据结构的各个方面。

希望能对你的学习和复习有所帮助。

数据结构是计算机科学的基础,掌握好数据结构对于编程能力的提升至关重要。

加油!。

2013年自考数据结构课后习题答案

2013年自考数据结构课后习题答案

1第一章绪论1.1 简述下列概念:数据、数据元素、数据类型、数据结构、逻辑结构、存储结构、线性结构、非线性结构。

● 数据:指能够被计算机识别、存储和加工处理的信息载体。

● 数据元素:就是数据的基本单位,在某些情况下,数据元素也称为元素、结点、顶点、记录。

数据元素有时可以由若干数据项组成。

● 数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。

通常数据类型可以看作是程序设计语言中已实现的数据结构。

● 数据结构:指的是数据之间的相互关系,即数据的组织形式。

一般包括三个方面的内容:数据的逻辑结构、存储结构和数据的运算。

● 逻辑结构:指数据元素之间的逻辑关系。

● 存储结构:数据元素及其关系在计算机存储器内的表示,称为数据的存储结构.● 线性结构:数据逻辑结构中的一类。

它的特征是若结构为非空集,则该结构有且只有一个开始结点和一个终端结点,并且所有结点都有且只有一个直接前趋和一个直接后继。

线性表就是一个典型的线性结构。

栈、队列、串等都是线性结构。

● 非线性结构:数据逻辑结构中的另一大类,它的逻辑特征是一个结点可能有多个直接前趋和直接后继。

数组、广义表、树和图等数据结构都是非线性结构。

1.2 试举一个数据结构的例子、叙述其逻辑结构、存储结构、运算三个方面的内容。

答:例如有一张学生体检情况登记表,记录了一个班的学生的身高、体重等各项体检信息。

这张登记表中,每个学生的各项体检信息排在一行上。

这个表就是一个数据结构。

每个记录(有姓名,学号,身高和体重等字段)就是一个结点,对于整个表来说,只有一个开始结点(它的前面无记录)和一个终端结点(它的后面无记录),其他的结点则各有一就确定了这个表的逻辑结构是线性结构。

这个表中的数据如何存储到计算机里,并且如何表示数据元素之间的关系呢? 即用一片连续的内存单元来存放这些记录(如用数组表示)还是随机存放各结点数据再用指针进行链接呢? 这就是存储结构的问题。

在这个表的某种存储结构基础上,可实现对这张表中的记录进行查询,修改,删除等操作。

数据结构试题与答案及解析

数据结构试题与答案及解析

数据结构试题与答案及解析导语:本文为广大数据结构学习者提供一些经典试题的答案及详细解析,帮助读者更好地理解与掌握数据结构的知识点。

以下是一些常见的试题以及对应的答案与解析。

1. 试题:请简述什么是数据结构?答案及解析:数据结构是计算机科学中研究和应用各种数据元素之间关系的一门学科,涉及到数据的组织、存储、管理和操作等方面。

数据结构为算法的设计与实现提供了基础,并在解决实际问题时起到了重要的作用。

因此,数据结构的学习对于编程能力的提升非常重要。

2. 试题:请解释什么是哈希表(Hash Table)?并简述其原理。

答案及解析:哈希表是一种常用的数据结构,其基本原理是通过将键(Key)通过哈希函数(Hash Function)映射到数组的某个位置上,实现将键与值(Value)建立一一对应关系的数据结构。

哈希表的原理比较简单,首先我们需要一个合适的哈希函数,该函数能够将键映射到数组的某个位置上。

当我们需要插入或查找键值对时,首先根据键经过哈希函数得到其对应的数组下标,然后将值存储在该位置上。

当发生冲突时(即多个键映射到同一个位置),可使用链表或其他解决冲突的方法来处理。

3. 试题:请说明线性表的定义及其特点。

答案及解析:线性表是数据结构中最基本且最常见的一种形式,其由n个数据元素构成的有序序列,特点如下:1) 元素之间呈线性关系,即每个元素只有一个直接前驱和一个直接后继。

2) 线性表的长度是固定的,且有序排列。

3) 线性表中任意两个元素之间的关系是确定的,不会发生变化。

4. 试题:请解释树的概念及其基本特点。

答案及解析:树是一种非常重要的数据结构,由n个节点组成,其中有且仅有一个特定的节点称作根节点,其余节点分成m个互不相交的子集,每个子集自身又是一个树。

树的基本特点如下:1) 树中的节点具有层次关系,从根节点开始,每个节点可以有若干子节点。

2) 每个节点有且仅有一个父节点,除了根节点。

3) 树中的任意两个节点之间都存在唯一的路径。

数据结构考试含答案

数据结构考试含答案

单项选择题:单项选择题共20道题,每题2分第1题:在一个具有n个结点的有序顺序表中插入一个新结点并仍然有序,时间复杂度是()。

A、O(1)B、O(n)C、O(logn)D、O(nlogn)第2题:n个顶点e条边的图,若采用邻接矩阵存储,则矩阵空间大小为()。

A、O(1)B、O(n)C、O(n+e)D、O(n^2)第3题:树的后根遍历序列等同于该树对应的二叉树的( )。

A. 先序序列B. 中序序列C. 后序序列D.层次序列第4题:若链队列Q用一带头结点的单链表表示,则元素e(其结点由指针p指向)的入队操作为()。

A.Q.rear->next=p;Q.rear=p;B.Q.rear=p;Q.rear->next=p;C.Q.front->next=p;Q.front=p;D.Q.front=p;Q.front->next=p;第5题:计算机算法指的是()。

A、计算方法B、排序方法C、解决问题的有限运算序列D、调度方法第6题:n个顶点e条边的图采用邻接矩阵存储,深度优先遍历算法的时间复杂度为()。

A、O(1)B、O(n)C、O(n+e)D、O(n^2)第7题:最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是()。

A. (Q.rear+1)%n=Q.frontB. Q.rear=Q.front C.Q.rear+1=Q.front D. (Q.rear-l)%n=Q.front第8题:算法分析的两个主要方面是()。

A、空间复杂性和时间复杂性B、正确性和简明性C、可读性和文档性D、数据复杂性和程序复杂性第9题:一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是:( )A.不确定 B. 0 C. 1 D. 2第10题:线性表L在()情况下适用于使用顺序结构实现。

A、经常对L进行删除B、经常对L进行插入C、经常访问L中的结点值D、 ABC第14题:一个无回路的AOV网有n个顶点e条边,拓扑排序的时间复杂度为()。

2012年数据结构本科试题及答案

2012年数据结构本科试题及答案

武汉大学计算机学院2012年-2013学年第一学期“数据结构”考试试题(A )姓名学号(序号)_ 班号要求:所有的题目的解答均写在答题纸上,需写清楚题目的序号。

每张答题纸都要写上姓名和序号。

一、单项选择题(每小题2分,共30分)1. 数据结构在计算机内存中的表示是指 。

A. 数据的存储结构 B. 数据结构 C. 数据的逻辑结构 D. 数据元素之间的关系2. 若线性表最常用的运算是存取第i 个元素及其前趋元素的值,则采用 存储方式节省时间。

A.单链表B.双链表C.单循环链表D.顺序表3. 在一个具有n 个结点的有序单链表中插入一个新结点使得仍然有序,其算法的时间复杂度为 。

A.O(log 2n)B.O(1)C.O(n 2)D.O(n) 4. 栈和队列的共同点是 。

A.都是先进后出 B.都是先进先出 C.只允许在端点处插入和删除元素 D.没有其同点5. 判定一个循环队列Q (存放元素位置为0~QueueSize-1,front 指向队中队首元素的前一个位置,rear 指向队中队尾元素的位置)队空的条件是 。

A.Q.front==Q.rearB.Q.front+1==Q.rearC.Q.front==(Q.rear+1)%QueueSizeD.Q.rear==(Q.front+1)%QueueSize 6. 串是 。

A.不少于一个字母的序列B.任意个字母的序列C.不少于一个字符的序列D.有限个字符的序列 7. 一个n×n 的对称矩阵A ,如果采用以列优先(即以列序为主序)的压缩方式存放到一个一维数组B 中,则B 的容量为 。

A. n 2B.22nC. 2)1(+n nD.2)1(2+n8. 若一棵3次树中有a 个度为1的节点,b 个度为2的节点,c 个度为3的节点,则该树中有 个叶子节点。

A.1+2b +3cB.a +2b +3cC.2b +3cD.1+b +2c 9. 一棵完全二叉树中有501个叶子节点,则至少有 个节点。

《数据结构》历年考研真题及解答

《数据结构》历年考研真题及解答

《数据结构》考研真题及解答目录2009 年试题 (1)填空题 (1)解答题 (2)2010 年试题 (2)填空题 (2)解答题 (4)2011 年试题 (4)填空题 (4)解答题 (5)2012 年试题 (6)填空题 (6)解答题 (7)2013 年试题 (8)填空题 (8)解答题 (9)2014 年试题 (10)填空题 (10)解答题 (11)2015 年试题 (12)填空题 (12)解答题 (14)2009 年试题填空题1.为解决计算机与打印机之间速度不匹配的问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。

该缓冲区的逻辑结构应该是A.栈B.队列C.树D.图2.设栈 S 和队列 Q 的初始状态均为空,元素 abcdefg 依次进入栈 S。

若每个元素出栈后立即进入队列 Q,且7 个元素出队的顺序是 bdcfeag,则栈 S 的容量至少是A.1 B.2 C.3 D.43.给定二叉树图所示。

设 N 代表二叉树的根,L代表根结点的左子树,R代表根结点的右子树。

若遍历后的结点序列为 3,1,7,5,6,2,4,则其遍历方式是A.LRN B.NRL C.RLN D.RNL4.下列二叉排序树中,满足平衡二叉树定义的是5.已知一棵完全二叉树的第 6 层(设根为第 1 层)有8 个叶结点,则完全二叉树的结点个数最多是A.39 B.52 C.111 D.1196.将森林转换为对应的二叉树,若在二叉树中,结点u 是结点v 的父结点的父结点,则在原来的森林中,u 和v 可能具有的关系是I.父子关系II.兄弟关系III.u 的父结点与v 的父结点是兄弟关系A.只有IIB.I 和IIC.I 和IIID.I、II 和III7.下列关于无向连通图特性的叙述中,正确的是I.所有顶点的度之和为偶数II.边数大于顶点个数减1 III.至少有一个顶点的度为1A.只有IB.只有IIC.I 和IID.I 和III8.下列叙述中,不符合 m 阶B 树定义要求的是A.根节点最多有m 棵子树 B.所有叶结点都在同一层上C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接9.已知关键序列 5,8,12,19,28,20,15,22 是小根堆(最小堆),插入关键字 3,调整后得到的小根堆是A.3,5,12,8,28,20,15,22,19B.3,5,12,19,20,15,22,8,28C.3,8,12,5,20,15,22,28,19D.3,12,5,8,28,20,15,22,1910.若数据元素序列 11,12,13,7,8,9,23,4,5 是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是A.起泡排序 B.插入排序 C.选择排序 D.二路归并排序解答题41.(10 分)带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。

2012-2013(2)数据结构A卷及参考答案资料

2012-2013(2)数据结构A卷及参考答案资料

一、填空题(每空1 分,共10分)1.向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动n-i+1个元素。

2.带有一个头结点的单链表head为空的条件是head->next=head。

3.由带权为9、2、5、7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为44 。

4.设s=’I︺AM︺A︺TEACHER’,其长度是 14 。

5.二维数组A[10][20]采用列序为主方式存储,每个元素占一个存储单元并且A[0][0]的存储地址是200,则A[6][12]的地址是326。

6.假设在有序线性表A[1..20]上进行二分查找,则比较一次查找成功的结点数目个数为__ 1__。

7.深度为k的完全二叉树至少有2k-1个结点,至多有2k-1个结点。

8.在无向图G的邻接矩阵A中,若A[i][j]等于1,则A[j][i ]等于1。

9.执行广义表操作GetTail[ GetHead[ ((a,b),(c,d)) ] ]后的结果为(b)。

二、选择题(每小题1分,共10分)1.下列数据中,哪一个是非线性结构?( D )A. 栈B. 队列C. 字符串D. 二叉树2.设P指向单链表的某个节点,在P之后插入一个节点S的操作为( C)A. P->next = S;B. P->next = S->next; S->next = P->next;C. S->next = P->next; P->next = S;D. P->next = S; P = P->next;3.设三个元素的进栈顺序为abc,则下列哪个序列是不可能出现的出栈序列( D)A. abcB. acbC. cbaD. cab4 .假设用块链存储结构表示串,如果每一个块的大小为4个字符(每个字符占用一个字节),一个指针占4个字节,则一个长为15的串需要多少字节的存储空间(C)A. 15B. 20C. 32D. 405.用一维数组存储一个6×6的对称阵A,以行序为主序存储该矩阵的下三角(包括对角线)元素,数组的起始位置为100,每个数组元素占4个字节,那么A[3][6]的存储位置为( A )A. 168B. 140C. 132D. 1086.设一个度为3的树中,度为1,2,3的结点个数分别为2,3,4,则该树中有多少个叶子结点?( D )A. 9B. 10C. 11D. 127.一个AOV网如图1所示,则下列哪一个序列不是该图的拓扑有序序列?( B)图1A. 124359786B. 123459786C. 142357896D. 4132578698.对一个长度为10的有序表进行折半查找,在等概率情况下查找成功的平均查找长度为( A)A. 2.9B. 3.0C. 3.2D. 3.49.下列排序算法中,那个算法是稳定的?( D)A. 希尔排序B. 快速排序C. 堆排序D. 归并排序10.设数据结构A = (D,R)。

数据结构考试试题及答案

数据结构考试试题及答案

数据结构考试试题及答案一、选择题(每题2分,共60分)1. 数据结构是指()。

A. 用来存储和组织数据的方式和方法B. 构建数据的逻辑关系C. 存储和处理数据的工具和技术D. 对数据进行操作和管理的过程2. 下列哪种数据结构是线性结构()。

A. 树B. 图C. 队列D. 堆3. 下列哪种数据结构是非线性结构()。

A. 栈B. 队列C. 数组D. 树4. 栈是一种()。

A. 先进先出的数据结构B. 先进后出的数据结构C. 后进先出的数据结构D. 后进后出的数据结构5. 在二叉树中,每个节点最多有几个孩子节点()。

A. 0B. 1C. 2D. 36. 下列哪种排序算法的时间复杂度最好()。

A. 冒泡排序B. 插入排序C. 快速排序D. 归并排序7. 哈希表的查找时间复杂度是()。

A. O(1)B. O(logn)C. O(n)D. O(nlogn)8. 链表的插入和删除操作时间复杂度是()。

A. O(1)B. O(logn)C. O(n)D. O(nlogn)9. 广度优先搜索算法一般使用()数据结构来实现。

A. 栈B. 队列C. 堆D. 树10. 什么是递归()。

A. 函数调用自身的过程B. 通过循环完成的过程C. 一种数据结构D. 没有调用其他函数的过程二、填空题(每题2分,共20分)1. 数据结构中,线性表是由一系列 _______________ 元素构成的数据结构。

2. 在树结构中,每个节点可以有 _______________ 个子节点。

3. 在图结构中,节点之间的关系可以用 _______________ 来表示。

4. _______________ 是一种递归定义的数据结构,它由若干个节点组成,每个节点都有零个或多个子节点。

5. 在堆排序中,堆是一种 _______________ 数据结构。

6. _______________ 是一种常用的搜索算法,常用于解决最短路径问题。

7. 在散列表中,使用 _______________ 来解决冲突问题。

2013 12级 数据结构与算法试卷A卷-参考答案

2013 12级 数据结构与算法试卷A卷-参考答案

2013—2014学年第一学期闽江学院考试试卷《数据结构与算法》A 卷参考答案及评分标准一、选择题答案(每题2分) 30%二、填空题(每空 2分) 20% 1、p->nexts 2、53、1+n2+2n3+…+(k-1)nk4、n-1 n+15、CDBGFEA6、2n-17、A[7]、A[3]、A[5]、A[4] 8、2e三、判断题(每题1分) 10%四、应用题(5小题) 32 %1、(6分)画哈夫曼树(每个叶子结点位置正确得0.5分,总5分) 计算WPL 正确得1分WPL=(2+4)*5+(5+7+8)*4+(9+10+15+18)*3+22*2=30+80+156+44=3102、(8分)(1)二叉排序树 (每个结点在正确的位置正确得0.5分,总6分)(2)查找成功时的平均查找长度: (总2分) ASL=(1*1+2*2+4*3+5*4)/12 =37/12= 3.083、(5分)(每行正确得0.5分,总5分) 原始数据:(27),10,21,37,9,55,16,61,103,2 第一趟后:(10,27),21,37,9,55,16,61,103,2 第二趟后:(10,21,27),37,9,55,16,61,103,2 第三趟后:(10,21,27,37),9,55,16,61,103,2 第四趟后:(9,10,21,27,37),55,16,61,103,2第五趟后:(9,10,21,27,37,55),16,61,103,2 第六趟后:(9,10,16,21,27,37,55),61,103,2 第七趟后:(9,10,16,21,27,37,55,61),103,2 第八趟后:(9,10,16,21,27,37,55,61,103),2 第九趟后:(2,9,10,16,21,27,37,55,61,103) 4、(5分)哈希表,每个表结点在正确的位置得0.5分,计4分;查找成功时的平均查找长ASL 成功=(1*6+2*1+3*1)/8=11/8=1.3625 (1分) 5、(8分)得分标准:每个结点的邻接点均正确得0.5分(即每行0.5分)克鲁斯卡尔算法画出最小生成树的过程(4分):(1) (2)(3)(4)(5)(6)(7)(8)得分标准:依次得出上面八张图,每张0.5分,计4分,其中第(4)、(5)张,第(6)、(7)张两权值相同的边顺序可调换。

2012.1数据结构答案(A)

2012.1数据结构答案(A)

华南农业大学期末考试答卷(A 卷)2011-2012学年第 1 学期 考试科目: 数据结构 考试类型:(闭卷)考试 考试时间: 120 分钟一、选择题(本大题共 10 小题,每小题2分,共20分)二、应用题(本大题共 5 小题,每小题6分,共30分)1、参考答案:2、参考答案:(在队列的一端进入插入时,TOP 值会增加,在另一端删除,当判断TOP==MAX-1为“是”,这说明队已满。

但实际在队列的另一端还是有存储空间的,这就是“假溢出”。

)当front 0,rear=M 时,再有元素入队发生溢出,称之为“假溢出”,存储空间还有剩余。

为了改进这种状况,可以将顺序队列想象为一个首尾相接的环状空间,称之为循环队列。

“假溢出”现象和循环队列的数据结构基本上描述清楚就可以。

其中:循环队列的队空条件:front == rear队满条件:(Q.rear+1) % MAXQSIZE == Q.front 。

3、参考答案:I二叉树 AD EB F CG H4、参考答案:ASL=(1*6+2*4+3+4)/12=1.755、参考答案:(1)一趟希尔排序:12,2,10,20,6,18,4,16,30,8,28(D=5);(2)一趟快速排序:6,2,10,4,8,12,28,30,20,16,18。

三、程序填空题(本大题5小题,共15个空白处,每空2分,共30分,注意:每空只填一个语句)(1) L=L->next(2) q=L(3) L=p(4) low <= high(5) key==ST[mid](6) high=mid-1(7) a[i]=t(8) (i=2;i<n;i+=2)(9) (flag)(10) FALSE(11) EnQueue(Q, v)(12) DeQueue(Q, u)(13) !visited[w](14) p=p->lchild(15) p=p->rchild2四、程序设计题(本大题共2小题,每小题10分,共20分。

2011-12数据结构_A_答案

2011-12数据结构_A_答案

2011--2012学年第 一 学期《数据结构》(A )答案一.选择题(每题2分,共30分)C B B B B D D C D C C B D C D 二.判断题(每题1分,共10分)错 对 错 对 错 对 错 对 对 对 三.填空题(每空1分,共10分)1. n(n-1)/2 n-12.先进后出(或后进先出)3. 2k-1,2k-1 4. 树型结构 5. 深度优先搜索 广度优先搜索 6.时间复杂度 空间复杂度 四.综合题1. 三元组表如下:(10分)先序遍历序列:ABDFGCEH 中序遍历序列:BFDGACEH 的序遍历序列:FGDBHECA3.(10分)huffman 树如图所示(要有过程,不能直接给出结果)骗码:A:000 B:001 C:01 D:10 E:11 4.最小生成树。

(10分)abcdefg8579345.排序过程(6分)K1 k2 k3 k4 k5 k6 k7 k8初始关键字: ( 49 38 65 97 76 13 27 4 ) i min 第一遍排序: 4 (38 65 97 76 13 27 49 ) i min第二次排序: 4 13 (65 97 76 38 27 49) i min第三次排序: 4 13 27 (97 76 38 65 49 )i min第四次排序: 4 13 27 38 (76 97 65 49 ) i min 第五次排序: 4 13 27 38 49 (97 65 76) i min 第六次排序: 4 13 27 38 49 65 (97 76 ) i min第七次排序: 4 13 27 38 49 65 76 (97 )6. Hash函数为:hash(key)=key mod 13(8分)经计算,地址分配如下所示:0 1 2 3 4 5 6 7 8 9 10 11 12。

数据结构A卷以及答案-考试用

数据结构A卷以及答案-考试用

数据结构A卷以及答案-考试⽤华东交通⼤学2012—2013学年第⼀学期考试卷试卷编号:(A )卷数据结构课程课程类别:必考⽣注意事项:1、本试卷共5页,总分100分,考试时间120分钟。

2、考试结束后,考⽣不得将试卷、答题纸和草稿纸带出考场。

⼀、选择题(每题2分,共20分)1、在⼀个链队列中,若f ,r 分别为队⾸、队尾指针,则插⼊s 所指结点的操作为( )(A) f->next=c ;f=s (B) r->next=s ;r=s (C) s->next=r ;r=s (D) s->next=f ;f=s 2、下⾯程序的时间复杂度为()for(i=0;ifor(j=0;jA[i][j]=i*j;(A) O(M2) (B) O(N2) (C) O(M*N) (D) O(M+N)3、设⾼度为h 的⼆叉树上只有度为0和度为2的结点,则此类⼆叉树中所包含的结点数⾄少为: ( )(A) 2h (B) 2h-1 (C) 2h+1 (D) h+1 4、设指针变量p 指向单链表中结点A ,若删除单链表中结点A ,则需要修改指针的操作序列为()。

(A) q=p->next ;p->data=q->data ;p->next=q->next ;free(q); (B) q=p->next ;q->data=p->data ;p->next=q->next ;free(q); (C) q=p->next ;p->next=q->next ;free(q); (D) q=p->next ;p->data=q->data ;free(q);5、含N 个顶点的连通图中的任意⼀条简单路径,其长度不可能超过( )(A) 1(B) N/2 (C) N-1 (D)N6、设⼀组初始关键字记录关键字为(20,15,14,18,21,36,40,10),则以20为基准记录的⼀趟快速排序结束后的结果为( )。

ds12132试题A卷参考答案及评分标准

ds12132试题A卷参考答案及评分标准

2012—2013学年第 2 学期《数据结构》(A卷)参考答案及评分标准一、单项选择题(每道选择题只有一个正确答案;共15小题,每小题2分,共计30分)1-5 DCCCD 6-10 BCCCB 11-15 ABBBC二、程序填空题(共2小题,10空,每空1分,共10分;答错根据情况酌情给分)1. L.r[i] i-1 L.r[j].key L.r[j+1] L.r[j] L.r[j+1]2.r->next=p r->next=q r=r->next r->next=p三、二叉树操作(按照要求答题;共5小题,每小题4分,共20分;答错根据情况酌情给分)1. [] A B D [] C F [] [] [] E [] G2. ABCEDFG3. 4. 5.四、图操作(按照要求答题;共5小题,每小题5分,共25分;答错根据情况酌情给分)1. 2.22013647318412∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞12345673.深度优先顺序:v0 v1 v4 v2 v3 v6 v7 v5广度优先顺序:v0 v1 v3 v4 v6 v2 v7 v54.加入节点顺序:v0 v1 v4 v7 v5 v6 v2 v35.加入节点顺序:v0 v1 v4 v7 v5 v6 v2 v3五、计算和编程题(共2小题,第1小题5分,第2小题10分,共15分;答错根据情况酌情给分)行优先:60+8*[(8-5)*20*40+(5-10)*40+(30-20)]=17740 //(3分,根据情况酌情给分)列优先:60+8*[(30-20)*20*10+(5-10)*10+(8-5)]=15684 //(2分,根据情况酌情给分)2.部分标示符名称可任意。

typedef struct node{int data;struct node *lchild, * rchild;} *BiTree; //----3分,根据情况酌情给分void VistLeaves(BiTree tree){if(tree==NULL) return;if(tree->lchild==NULL && tree->rchild==NULL) Visit(tree->data);VistLeaves(tree->lchild);VistLeaves(tree->rchild);} //---7分,根据情况酌情给分。

数据结构历年试题及答案

数据结构历年试题及答案

试卷代号:1252中央广播电视大学2012-2013学年度第二学期“开放本科”期末考试一、单项选择题(每小题2分,共30分)1.在C语言中,顺序存储长度为3的字符串,需要占用( )个字节。

A.4 B.3 C.6 D.12 2。

串函数StrCat(a,b)的功能是进行串( )。

A.比较B.复制C.赋值D.连接3.-棵有n个结点采用链式存储的二叉树中,共有( )个指针域为空。

A.n+l B.n C.n-l D.n-2 4.设一棵哈夫曼树共有n个非叶结点,则该树有( )个叶结点。

A.n B.n+l C.n-l D.2n 5.从一个栈顶指针为top的链栈中删除一个结点时,用变量x保存被删结点的值,则执行( )。

A. x=top->data;top=top->next B.x=top->dataC. top= top->next; x=top->dataD.top=top->next;x=data6.一棵完全二叉树共有5层,且第5层上有六个结点,该树共有( )个结点。

A.30 B.20 C.21 D.237.在一个无向图中,所有顶点的度数之和等于边数的( )倍。

^A.O上;.B.3 C.1.5 D.2 8.已知如图1所示的一个图,若从顶点V,出发,按深度优先搜索法进行遍历,则可能得到的一种顶点序列为( )。

9.已知如图2所示的一个图,若从顶点a出发,按广度优先搜索法进行遍历,则可能得到的一种顶点序列为( )。

A. abcedf B. abcefd C. aebcfd D. acfdeb10.对二叉排序树进行( )遍历,可以使遍历所得到的序列是有序序列。

A.按层次B.后序C.中序D.前序11.在有序表(2,4,7,14,34,43,47,64,75,80,90,97,120)中,用折半查找法查找值80 时,经( )次比较后查找成功。

A.4 B.2 C.3 D.512.有一个长度为9的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为( )。

数据结构笔试题答案

数据结构笔试题答案

数据结构笔试题答案一、选择题1. C插入排序从后面插入的时候,只要把8和9交换一下就行了,遍历到前面都不再有任何操作。

冒泡排序第一次循环把9沉到最后面,然后第二次循环发现没有任何交换操作,说明已经排好序了。

2. A3. D已知前序和后序不能唯一确定4. B5. D二、填空题1.(1)!=null (2)p->next (3)r!=null (4)r->data < q->data (5)r->next (6)p->next题中p指向无序区第一个记录,q指向最小值结点,一趟排序结束,p和q所指结点值交换,同时向后移p指针。

2.EACBDGF3.sort_b_tree(&((*tree)->right),s)sort_b_tree(&((*tree)->left),s)三、简答题1.数组和链表的区别,请详细解释。

从逻辑结构来看:a)数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。

当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。

b)链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。

(数组中插入、删除数据项时,需要移动其它数据项,非常繁琐)链表必须根据next指针找到下一个元素从内存存储来看:a)(静态)数组从栈中分配空间, 对于程序员方便快速,但是自由度小b)链表从堆中分配空间, 自由度大但是申请管理比较麻烦从上面的比较可以看出,如果需要快速访问数据,很少或不插入和删除元素,就应该用数组;相反,如果需要经常插入和删除元素就需要用链表数据结构了。

2.排序算法有哪些?< C语言总共有多少种排序法>排序算法有很多,每种算法有不同的时间和空间复杂度,效率也有差别,那么针对使用上也有不同的场合。

原则上说,数据结构是一门领域,跟语言没有绝对的联系,很多时候同样的算法可以用很多种语言实现。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2012-2013(1)数据结构A类笔试答案
一、(每题1.5分,共30分)
1.C
2.A
3.C
4.C
5.C
6.D
7.A
8.B
9.D 10.A
11.D 12.C 13.D 14.C 15.D
16.C 17.D 18.A 19.C 20.D
二、(每题1.5分,共30分)
1.(3分)
n-i; r[j+1]=r[j];
2.(3分)
return t; t=t->rchild;
3.(10.5分)
0; j; i; 0; inDegree[i]==0; edge[vex][i]==1; inDegree[i]==0;
4.(3分)
hashtable[i]=0,hashtable[k]=s
5.(10.5分)
length; flag=0; i+=2; t=a[i+1]; i+=2; t=a[i+1]; flag;
三、(20分)
1.(6分)
1)从while(所剩边数>=顶点数)来看,循环到边数比顶点数少1(即n-1)停止,这符合n个顶点的连通图的生成树有n-1条边的定义;(2分)
2)由于边是按权值从大到小排序,删去的边是权值大的边,结果的生成树必是最小生成树;(2分)
3)算法中“若图不再连通,则恢复ei”,含义是必须保留使图连通的边,这就保证了是生成树,否则或者是有回路,或者成了连通分量,均不再是生成树。

(2分)
2.(6分)
交换(3分)二叉树的左右子树(3分)的递归算法
3.(8分)
排序算法的思想是:(1分)
第一趟比较将最小的元素放在r[1]中,(2分)
最大的元素放在r[n]中,(2分)
第二趟比较将次小的放在r[2]中,
将次大的放在r[n-1]中,
依次下去,(1分)
直到待排序列为递增序。

(2分)
四、(12分)
1.(4分)
struct node { (1分)
int year,month,day;
};
typedef struct { (3分)
int num; //帐号
char name[8]; //姓名
struct node date; //开户年月日
int tag; //储蓄类型,如:0- 零存,1- 一年定期……
float put; //存入累加数
float interest; //利息
float total; //帐面总数
} count;
2.(8分)
(3分)
1)按前序遍历:根左右,则第一个元素必为树的根节点,如上例中的A就为根节点(1分)
2)按中序遍历:左根右,按根节点A得知,左子树包含元素DHEB,右子树包含元素FCG (1分)
3)按前序分解为DHEB和FCG(根被消去了)
4)递归进行左子树求解(左子树的中序为DHEB,前序为FCG)
(1分)
5)递归的进行右子树的求解(右子树的中序为DHEB,前序为FCG)
(1分)
6)直至递归到没有左右子树为止
(1分)
五、(8分)
void quickpass( int r[], int s, int t ) {
int i = s, j = t, x = r[s]; (1分)
while ( i < j ) { (2分)
while ( i < j && r[j] > x ) j = j-1; if ( i < j ) { r[i] = r[j]; i = i+1; }
(2分)
while ( i < j && r[i] < x) i = i+1; if ( i < j ) { r[j] = r[i]; j = j-1; }
(2分)
}
r[i]=x; (1分)
}
六、(10分)
1. 根据原始链表的每个结点N创建对应的N’,并把N’链接在N的后面。

(4分)
2. 设置复制出来的结点的m_pSibling。

设原始链表上的N的m_pSibling指向结点S,那么其对应复制出来的N’的 m_pSibling指向结点S’。

(3分)
3. 把上述长链表拆分成两个链表,奇数位置的结点用m_pNext链接起来就是原始链表,偶数位置的结点用m_pNext链接起来就是复制出来的链表。

(3分)。

相关文档
最新文档