数据结构2010
数据结构(代码02331)2010年10月试题及答案
全国2010年10月高等教育自学考试
数据结构试题
课程代码:02331
一、单项选择题(本大题共15小题,每小题2分,共30分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.数据的四种存储结构是( ) A-P3
A.顺序存储结构、链接存储结构、索引存储结构和散列存储结构
B.线性存储结构、非线性存储结构、树型存储结构和图型存储结构
C.集合存储结构、一对一存储结构、一对多存储结构和多对多存储结构
D.顺序存储结构、树型存储结构、图型存储结构和散列存储结构
2.若对某线性表最常用的操作是在最后一个结点之后插入一个新结点或删除最后一个结点,要使操作时间最少,下
列选项中,应选择的存储结构是( ) D-P26(带尾指针)
A.无头结点的单向链表
B.带头结点的单向链表
C.带头结点的双循环链表
D.带头结点的单循环链表
3.若带头结点的单链表的头指针为head,则判断链表是否为空的条件是( )C P22
A.head=NULL
B.head->next=NULL
C.head!=NULL
D.head->next!=head
4.若元素的入栈顺序为1,2,3....,n,如果第2个出栈的元素是n,则输出的第i(1<=i<=n)个元素是( )D
A.n-i
B.n-i+l
C.n-i+2
D.无法确定
5.串匹配算法的本质是( ) C P55
A.串复制
B.串比较
C.子串定位
D.子串链接
6.设有一个10阶的对称矩阵A,采用行优先压缩存储方式,a11为第一个元素,其存储地址为1,每个元素占一个字节
2010年计算机专业统考试题数据结构
基本内容
8、树和森林 (1)树的存储结构 双亲表示法 孩子表示法 孩子兄弟表示法 (2)森林和二叉树的转换
基本内容
9、哈夫曼树及其应用 (1)哈夫曼树的概念 (2)哈夫曼树的构造 不唯一,但带权路径长度相同 (3)哈夫曼编码
基本内容
10、树与等价问题 确定等价类的算法: (1)令S中每个元素各自形成一个只含单个元 素的子集,记作S1,S2,…,Sn。 (2)重复读入m个序偶对,对每个读入的偶对 <x,y>,判定x和y所属子集。当m个序偶对都 被处理后, S1,S2,…,Sn中所有非空子 集极为S的R等价类。
void inorderexp( Bitree bt) { if(bt) { if(bt->lchild!=NULL) { m=precede(bt->data,bt->lchild->data); if(m==1) printf(“(“); inorderexp(bt->lchild); if(m==1) printf(“)”); } printf(bt->data); if(bt->rchild!=NULL) { m=precede(bt->data, bt->rchild->data); if(m==1) printf(“(“); inorderexp(bt->rchild); if(m==1)printf(“)”); } } }
数据结构串讲2010
直接插入排序
算法: 算法: void InsertSort(SeqLiat &L) { int i,j; for (i=2;i<=L.length;++i) //对每一个 i∈R 对每一个R 对每一个 if LT(L.r[i].key, L.r[i-1].key) { L.r[0]=L.r[i]; for (j=i-1;LT (L.r[0].key, L.r[j].key);--j) //寻找插入位置 寻找插入位置j 寻找插入位置 L.r[j+1]=L.r[j]; //将j..i-1 的记录后移一格 将 L.r[j+1]=L.r[0]; //将Ri插入到位值 将 插入到位值j } }
直接插入排序
寻找R[i]的插入位置的方法 寻找R[i]的插入位置的方法:从j=i-1 的记录位置开始 R[i] 的插入位置的方法: j=i依次向前比较: 依次向前比较: R[i].key<R[j].key(j=i- ,i- ..., ),则将 R[j]后 则将R[j] 若 R[i].key<R[j].key(j=i-1,i-2,...,1), 则将 R[j] 后 移一个位置; 移一个位置; R[i].key≥R[j].key, 则插入位置找到, R[i]插 若 R[i].key≥R[j].key , 则插入位置找到 , 将 R[i] 插 入到第j+ 个位置。 j+1 入到第j+1个位置。 在含有i 个记录的有序表R[ ..i R[1 中插入记录R[i] 在含有 i-1 个记录的有序表R[1..i-1]中插入记录R[i] 就变成了有i个记录的有序表R[ ..i] R[1 i]。 后, 就变成了有i 个记录的有序表R[1..i]。 在查找插入位 置的过程中,为了避免测试j>= j>=1 R[0 处设置监视哨。 置的过程中, 为了避免测试j>=1, 在R[0]处设置监视哨。 即令: 即令: R[0 R[0]=R[i] 这样,在向前搜索过程中,总有一个记录有 R[i].key≥R[j].key。因此, R[i].key≥R[j].key 。 因此 , 引入哨兵元素简化了边界条 件的判断,使得测试查找循环条件的时间减少一半。 件的判断,使得测试查找循环条件的时间减少一半。
2010《数据结构》期末试卷_A卷及答案
一、(本题10分)
(1)简述线性表的两种存储结构的主要优缺点及各自适用的场合。
(2)在折半查找和表插入排序中,记录分别应使用哪种存储结构,并用一句话简述理由。 答:(1)顺序存储是按索引(如数组下标)来存取数据元素,优点是可以实现快速的随机存取,缺点是插入与删除操作将引起元素移动,降低效率。对于链式存储,元素存储采取动态分配,利用率高。缺点是须增设指针域,存储数据元素不如顺序存储方便。优点是插入与删除操作简单,只须修改指针域。
(2)在折半查找中,记录使用顺序存储,可以快速实现中点的定位;在表插入排序中,记录使用静态链表,可以降少移动记录的操作。 二、(本题10分)一棵二叉树的先序、中序和后序序列分别如下,部分未显示,请画出该二叉树。先序序列: _ 2 3_5_7 8;中序序列: 3_4 1_7 8 6;后序序列:_ 4 2 _ _ 6 5 1。 答:
三、(本题10分)假定用于通讯的电文仅由a 、b 、c 、d 、e 、f 、g 等8个字母组成,字母在电文中出现的频率分别为:0.07、0.19、0.02、0.06、0.32、0.03、0.21和0.10。试为这些字母设计哈夫曼编码。 答:一种编码如下:
a: 0010 b: 10 c:00000 d:0001 e:01 f:00001 g:11 h:0011
四、(本题15分)给定下面的带权无向图G :
1)从顶点0开始,请写出深度优先遍历序列和广度优先遍历序列,当有多种选择时,编号小的结点优先。
2)从顶点0开始,使用普里姆算法求出该图的最小生成树,需画出最小生成树的构造过程。 3)有人给出求解最小生成树的另外一种算法:将连通图中的边按其权值从大到小顺序逐个删
2010年自学考试《数据结构》各章复习要点总结
2010年自考《数据结构》复习要点总结第一章
第一章概论
数据就是指能够被计算机识别、存储和加工处理的信息的载体。
数据元素是数据的基本单位,可以由若干个数据项组成。数据项是具有独立含义的最小标识单位。
数据结构的定义:
·逻辑结构:从逻辑结构上描述数据,独立于计算机。
·线性结构:一对一关系。
·线性结构:多对多关系。
·存储结构:是逻辑结构用计算机语言的实现。
·顺序存储结构:如数组。
·链式存储结构:如链表。
·稠密索引:每个结点都有索引项。
·稀疏索引:每组结点都有索引项。
·散列存储结构:如散列表。
·对数据的操作:定义在逻辑结构上,每种逻辑结构都有一个运算集合。
·常用的有:检索、插入、删除、更新、排序。
·数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。
·原子类型:由语言提供。
·结构类型:由用户借助于描述机制定义,是导出类型。
抽象数据类型ADT:
·是抽象数据的组织和与之的操作。相当于在概念层上描述问题。
·优点是将数据和操作封装在一起实现了信息隐藏。
程序设计的实质是对实际问题选择一种好的数据结构,设计一个好的算法。算法取决于数据结构。
算法是一个良定义的计算过程,以一个或多个值输入,并以一个或多个值输出。
评价算法的好坏的因素:
·算法是正确的;
·执行算法的时间;
·执行算法的存储空间(主要是辅助存储空间);
·算法易于理解、编码、调试。
时间复杂度:是某个算法的时间耗费,它是该算法所求解问题规模n的函数。
渐近时间复杂度:是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。
评价一个算法的时间性能时,主要标准就是算法的渐近时间复杂度。
2010数据结构实验指导书
《数据结构》
实验指导书
齐晓轩编
沈阳大学信息工程学院
目录
实验一:C语言运行环境、算法设计 1 实验二:顺序表的基本操作 3 实验三:线性链表的基本操作 5 实验四:顺序栈的基本操作 6 实验五:队列的基本操作7 实验六:串的基本操作8 实验七:数组和矩阵11 实验八:二叉树的基本操作12 实验九:图13 实验十:查找14 实验十一:排序15
课程编号:1241331 课程类别:基础必修课
适用层次:本科
适用专业:计算机科学与技术计算机科学与技术(电子商务)
课程总学时:80 适用学期:第4学期
实验学时:30 开设实验项目数:11
撰写人:齐晓轩审核人:刘天惠教学院长:范立南实验一:C语言运行环境、算法设计
一、实验目的与要求
1.熟悉TC环境的组成及使用方法。
2.了解C语言程序从编辑、编译、连接到运行并得到运行结果的过程。
3.学习把算法改成C程序的方法。
二、实验类型
验证型
三、实验原理及说明
算法是指为了完成某一特定功能的指令序列,它阐述程序设计的总体思路。
四、实验仪器
安装C语言环境(TC或VC++)的计算机若干台
五、实验内容和步骤
1.在开始实验之前,先建立自己的工作目录,可用自己的班级加学号或姓名命名。
2.熟悉VC环境的组成及使用。
3.了解算法设计。
算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。
编写自大到小依次输出顺序读入的三个数X、Y和Z的值的程序,并在TC或VC++环境下调试通过,最后写出程序的运行结果。要求:包括主函数,排序函数和输出函数三部分。在主程序中任意输入三个数,调用排序函数进行排序,在输出函数中输出排序结果。
2010wgy《数据结构》总复习题参考答案
26.在一个长度为 n 的顺序表的任一位置插入一个新元素的渐进时间复杂度为( A. O(n) B. O(n/2) C. O(1) D. O(n2)
27.带头结点的单链表 first 为空的判定条件是: B A. first == NULL; C. first->link == first; B. first->link == NULL; D. first != NULL; B ) 。
二、
判断题
( ) T ) ( F
1、只允许在表的一端进行插入和删除操作的线性表称为堆栈。 2、没有元素的堆栈称为空栈,空栈用不着栈顶指针。 3、二叉树的度一定为 2。 (F ) (T ) (F ) (F ) (T )
4、满二叉树一定是完全二叉树。
5、在完全二叉树中,没有右孩子的结点一定是叶结点。 7、给定一组权值,构造出来的哈夫曼树是惟一的。 8、对图进行深度优先搜索的过程中要用到堆栈。
14.设串 sl=″Data Structures with Java″,s2=″it″,则子串定位函数 index(s1,s2)的值为( C ) A.15 C.17 B.16 D.18
15.二维数组 A[8][9]按行优先顺序存储,若数组元素 A[2][3]的存储地址为 1087,A[4][7]的存储 地址为 1153,则数组元素 A[6][7]的存储地址为( A.1207 C.1211
数据结构复习题(2010)
数据结构期末复习题1(0907)一、基本要求
1.数据结构基本概念
(1)数据、数据对象和数据结构(逻辑、物理结构、基本操作)
(2)抽象数据类型
(3)算法的特征及评价的标准
2.线形结构
(1)顺序表的特点及存储结构
(2)链表的特点及存储结构
(3)栈的特点及基本操作
(4)队列的特点及基本操作
(5)顺序串和链串的存储结构
(6)二维数组的地址计算
(7)特殊矩阵的概念及存储结构(对称、三角、对角、稀疏)
(8)广义表的概念及存储结构
(9)线性表的排序(简单插入、选择和交换)
(10)线性表的查找(顺序、折半和分块索引)
3.树形结构
(1)二叉树的性质及存储结构(顺序、二叉链表、三叉链表)
(2)二叉树的遍历
(3)线索二叉树
(4)树的存储结构(双亲、孩子-双亲、孩子-兄弟链表)
(5)树、二叉树与森林的转化方法
(6)哈夫曼树
(7)二叉排序树及平衡化
(8)堆排序树
(9)树的等价类划分
4.图形结构
(1)图的定义及存储结构
(2)图的深度优先和广度优先遍历。
(3)图的连通性
(4)最小(代价)生成树
(5)拓扑排序
(6)关键路径
(7)最短路径(单源、顶点对)
5.查找表
(1)散列表的概念
(2)散列表解决散列冲突的方法(开放地址法、链地址法)
(3)散列表的插入和删除
(4)B_树的概念、存储结构及基本操作(查找、插入、删除)
6.排序方法
(1)希尔排序
(2)快速排序
(3)二路归并排序
(4)基数排序(链式、计数)
(5)排序方法比较和分析(时间性能、空间性能、稳定性)
二、单选题
1.要求具有同一逻辑结构的数据元素具有相同的特性,其含义为
10级数据结构实验题目
10级数据结构实验题目
一、实验题目
1、设有两个无头结点的单链表,头指针分别为ha,hb,链中有数据域data,链域next,两链表的数据都按递增序存放,现要求将hb表归到ha表中,且归并后ha仍递增序,归并中ha表中已有的数据若hb中也有,则hb中的数据不归并到ha中,hb的链表在算法中不允许破坏。
2、结合书上第41页的例子(一元多项式相加),采用链式存储结构,将两个线性链表表示的一元多项式相加,并输出。
3、二叉树的动态二叉链表结构中的每个结点有三个字段:data,lchild,rchild。其中指针lchild
和rchild的类型为bitre。静态二叉链表是用数组作为存储空间,每个数组元素存储二叉树的一个结点,也有三个字段:data,lchild,rchild。所不同的是,lchild和rdhild 为integer型,分别用于存储左右孩子的下标,如果没有左右孩子,则相应的值为0。例如,二叉树的静态二叉链表如上图所示。编写算法由二叉树的动态二叉链表构造出相应的静态二叉链表a[1..n],并写出其调用形式和有关的类型描述。其中n为一个确定的整数。
4、设无向图G有n个点e条边,编写算法建立G的邻接表,并按照深度优先搜索输出顶点,要求该算法时间复杂性为O(n+e),且除邻接多表本身所占空间之外只用O(1)辅助空间。
5、二叉排序树采用二叉链表存储。写一个算法,删除结点值是X的结点。要求删除该结点后,此树仍然是一棵二叉排序树,并且高度没有增长(注:可不考虑被删除的结点是根的情况)。
4 #include "stdafx.h"
数据结构真题及答案(2010)
杭州电子科技大学2010《数据结构》真题及解析
一、是非题(每小题2分,共20分)
1.线性表的顺序存储结构优于链式存储结构。
2.栈和队列也是线性表。如果需要,可对它们中的任一元素进行操作。
3.非空广义表的表头和表尾都有可能是原子或广义表。
4.在二叉树的先序遍历序列中,任意-个结点均处在其孩子结点的前面。
5.通常,在二叉树的第i层上有2^i-1个结点。
6.二叉树按某种次序线索化后,任一结点均有指向其前驱和后继的线索指针。
6.赫夫曼树中的结点个数一定是奇数。
8.用邻接矩阵(数组表示法)存储一个图时,所需的存储空间大小与图的边数无关。
9.对于一棵m阶的B-树而言.树中每个结点至多有m个关键字,除根之外的所有非终端结点至少有┌m/2┐个关键字。
10.对于任何待排序序列来说,快速排序均快于冒泡排序。
二、选择题(每小题2分,共20分)
1.递归过程可借助于_____转化为非递归过程。
A:线性表 B:队列 C:栈 D:数组
2.循环队列用数组A[0..m-1]存放其元素值,设头尾游标分别为front(队头元素的位置)和rear(队尾元素的位置),则当前队列中的元素个数是_______。A: rear-front B: rear-front+1
C: (rear-front+m)%m D: (rear-front+1+m)%m
3.对广义表A=((a, (6)),(c,()),d)执行操作gettail(gethead(gettail (A)))的结果是:________。
A:() B:(()) C:d D:(d)
2010年数据结构试题集(10套题1)
2010年数据结构考试复习资料-杀虫剂
数据结构试卷(一)
一、单选题(每题 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.696
5.二叉树的第k层的结点数最多为( ).
A.2k-1 B.2K+1 C.2K-1
D. 2k-1
6.若有18个元素的有序表存放在一维数组
A[19]中,第一个元素放A[1]中,现进行
二分查找,则查找A[3]的比较序列的
下标依次为( )
A. 1,2,3
B. 9,5,2,3
C. 9,5,3
D. 9,4,2,3
7.设有6个结点的无向图,该图至少应有
( )条边才能确保是一个连通图。
A.5
B.6
C.7
D.8
二、填空题(每空1分,共26分)
1.通常从四个方面评价算法的质量:_________、
_________、_________和_________。
2.一个算法的时间复杂度为
(n3+n2log2n+14n)/n2,其数量级表示为
10年《数据结构》课程设计参考题
数据结构课程设计要求
1.学生必须仔细阅读《数据结构》课程设计题目,认真主动完成课设的要求。有问题及时主动与老师联系沟通。
2.学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况。
3.课程设计完成要求运行界面友好(有菜单)、操作方便、输出结果正确、可读性强,每种操作有验证性输出。
4.按规定时间提交课程设计报告,过期计为0分。
课程设计实习报告封面的书写格式
课程设计
课程:数据结构
题目:
专业班级:
姓名:
学号:
设计时间:
指导教师:
课程设计报告的内容
一、设计题目
二、运行环境(软、硬件环境)
三、算法设计的思想
四、算法的流程图
五、算法设计分析
六、源代码
七、运行结果分析
八、收获及体会
《数据结构》课程设计参考题
课程设计题一:排序算法比较
一、设计目的
1.掌握各种排序的基本思想。
2.掌握各种排序方法的算法实现。
3.掌握各种排序方法的优劣分析及花费的时间的计算。
4.掌握各种排序方法所适应的不同场合。
二、设计内容和要求
利用随机函数产生3000个随机整数,利用插入排序、起泡排序、选择排序、快速排序、堆排序、归并排序等排序方法进行排序,并统计每一种排序上机所花费的时间。
--------------------------------------
课程设计题二:图的深度周游
一、设计目的
1.掌握图的邻接表存贮结构。
2.掌握堆栈的基本运算实现。
3.掌握图的邻接表的算法实现。
4.掌握图的深度优先搜索周游算法实现。
二、设计内容和要求
对任意给定的图(顶点数和边数自定),建立它的邻接表并输出,然后利用堆栈的五种基本运算(清空堆栈、压栈、弹出、取栈顶元素、判栈空)实现图的深度优先搜索周游。-------------------------------------- 课程设计题三:图的广度周游
全国2010年10月自考数据结构真题及答案
请画出该二叉树对应的森林。 29.请回答下列问题: (1)英文缩写DAG的中文含义是什么? (2)请给出下面DAG图的全部拓扑排序。
四、算法阅读题(本大题共4小题,每小题5分,共20分) 30.已知线性表(a1,a2,a3...,an)按顺序存放在数组a中,每个元素均为整数,下列程序的功能是将所有
自考乐园,自考学习交流、资料共享的好去处!自考乐园,自考人自己的家园.... 俱乐部 id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部 id,可以直接进入俱乐部
9.在图G中求两个结点之间的最短路径可以采用的算法是( A.迪杰斯特拉(Dijkstra)算法 C.普里姆(Prim)算法
B.克鲁斯卡尔(Kruskal)算法 D.广度优先遍历(BFS)算法 )
10.下图G=(V,E)是一个带权连通图,G的最小生成树的权为( A.15 B.16 C.17 D.18
11.在下图中,从顶点1出发进行深度优先遍历可得到的序列是( A.1 2 3 4 5 6 7 B.1 4 2 6 3 7 5 C.1 4 2 5 3 6 7 D.1 2 4 6 5 3 7
(a[m]<0 &&m<n) m= (2) ;
k=m; while (k<n)
{ while(a[k]>=0&&k<n) k= if(k<n) { temp=a[k]; a[k]=a[m]; a[m]= m= } } } (1) (2) (3) (4) (5) 31.阅读下列程序,并回答问题: #include<stdio.h> substr(char*t,char*s,int pos,int len) { while(len>0&&*s) { *t=*(s+pos-l); t++;s++;len--; } *t='\0'; } char *f31(char*s)
数据结构10年考研试题及答案(整理)
数据结构考试重点及部分答案
自己做的答案不是很正确如果有问题请联系后面的大题不知道原题,所以不知道怎么做见谅!!!
题型和分值
选择题:15*2=30
填空题:10*2=20
解答题:5*4=20
算法阅读题:5*4=20
算法设计题:10
1 栈的进栈、出栈函数顺序,求一个表达式的顺序
eg:进栈顺序是123 计算POP(S)+2 POP(S) =3+2*2=7
2 给定二叉排序树的数据求平均查找长度
Eg:已知长度为9的表{16 ,3 ,7 ,11 ,9 ,26,18,14,15},建立二叉顺序树后进行查找,则等概率的情况下查找成功的平均查找长度为()
二叉排序树(Binary Sort Tree)又称二叉查找树。
它或者是一棵空树;或者是具有下列性质的二叉树:
(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;
(3)左、右子树也分别为二叉排序树;
根据上述性质,按照给出的表,建立的树如下图:(旁边的数表示查找长度)
平均查找长度为:(1+2+2+3+3+4+5+5+6)/9 = 31/9
3树的概念
树是n(n>=0)个结点的有限集
4 二重循环的平均时间复杂度的求解(使用嵌套、统计次数)
时间复杂度:该算法的运行时间与问题规模的对应关系,时间复杂度用T(n)=O(f(n))来表示
Eg:S=0
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
s=s+1
答案为0(n*m)
求解算法复杂度时:
1、首先确定核心操作。
2010年计算机入学考试——数据结构部分解析
2010年计算机入学考试——数据结构部分
解析
一、单项选择题
1.D。考查限定条件的出栈序列。
A可由in,in,in,in,out,out,in,out,out,in,out,out 得到;
B可由in,in,in,out,out,in,out,out,in,out,in,out 得到;
C可由in,in,out,in,out,out,in,in,out,in,out,out得到;
D可由in,out,in,in,in,in,in,out,out,out,out,out得到,但题意要求不允许连续三次退栈操作,故D错。
2.C。考查受限的双端队列的出队序列。
A可由左入,左入,右入,右入,右入得到;B可左入,左入,右入,左入,右入得到;D可由左入,左入,左入,右入,左入得到。所不可能得到C。
3.D。考查线索二又树的基本概念和构造。
题中所给二叉树的后序序列为dbca。结点d无前驱和左子树,左链域空,无右子树,右链域指向其后继结点b;结点b无左子树,左链域指向其前驱结点d;结点c 无左子树,左链域指向其前驱结点b,无右子树右链域指向其后继结点a。
4.C。考查平衡二叉树的插入算法。
插入48以后,该二叉树根结点的平衡因子由-1变为-2,失去平衡,需进行两次旋转(先右旋后左旋)操作。
5.B。考查树结点数的特性。
设树中度为i(i=0,1,2,3,4)的结点数分别为N i,树中结点总数为N,则树中各结点的度之和等于N-1,即N=1+N1+2N2+3N3+4N4=N0+N1+N2+N3+N4,根据题设中的数据,即可得到N0=82,即树T的叶结点的个数是82。
2010年 数据结构试题
数据结构课程考试试题
(2010年秋自动化专业)
分数
班级学号姓名
一、填空(15×1分)
1.算法具有下列特征:动态有穷性、______、输入、______和
_______。
2.在各种查找算法中,基于比较次数的时间复杂性最差的性能是____,
最好的性能是____。
3.赫夫曼树是这样一棵二叉树,它是_________________
______________二叉树。
4.有n个顶点且边数是n(n-1)/2的无向图称为______图。一个连通图的
生成树是一个_______连通子图,它含有图中的全部_____。
5.在排序算法分类上,冒泡排序算法属于_______排序算法,堆排序
算法_______排序算法。对有n个记录的线性表进行排序的算法中最好情况下的算法复杂度为:_____,最坏情况下的算法复杂度为:_____。
6.广义表((apple,(0)), (apple,pear),(),(((banana,orange))))的长度是_____。
空字符串的广义表表示是_____。
二、(10分)简答题:
(1)在什么情况下使用顺序表比使用链表好?
(2)二叉排序树、二叉判定树、堆排序树各有什么特点?
三、(10分)试写一个算法,要求使用队列和堆栈操作。该算法完成如下任务:
(1)通过键盘接收使用者输入字符,直到使用者输入回车符结束;
(2)按使用者输入字符的顺序在屏幕上输出字符;
(3)按使用者输入字符的逆顺序在屏幕上输出字符。
四、(10分)在线性表(a,b,c,d,e,f,g)中进行折半查找,试分别画出查找关键字等于
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010年招收攻读硕士学位研究生入学考试试题(副题)
********************************************************************************************
学科、专业名称:计算机技术、软件工程
研究方向:各专业
考试科目名称:830数据结构
考生注意:所有答案必须写在答题纸(卷)上,写在本试题上一律不给分。
一.选择题(每题2分,共40分)
1.具有n个顶点的完全有向图的边数为( ).
A n(n-1)/2
B n(n-1)
C n2
D n2-1
2.队列操作的原则是()
A.先进先出
B.后进先出
C.只能进行插入
D.只能进行删除
3. 顺序栈S的Pop(S, e)操作弹出元素e,则下列( )是正确的操作。
A. e=*(s.top)
B. e=*(s.top--)
C. e=*(--s.top)
D. e=--s.top
4. 对具有n个结点的有序表折半查找时,其时间复杂度是 ( ) 。
A. O(log2n)
B. O(nlog2n)
C. O(n)
D. O(n2)
5. 若线性表最常用的操作是存取第i个元素及其前趋的值,则采用( )存储方式节省时间。
A.单链表
B.双链表
C.单循环链表
D.顺序表
6. 线性表的链接实现有利于( )运算
A.插入
B. 读表元素 C .查找 D.定位
7. 设连通图G的顶点数为n,则G的生成树的边数为( )
A. n
B. n-1
C.2n
D. 2n-1
8.从一个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需向前移动()个元素。
A.n-i
B.n-i+1
C.n-i-1
D. i
9. 若有一个栈的输入序列是1,2,3,…,n,输出序列的第一个元素是n,则第i个输出元素是()
A.n-i
B.n-i-1
C.n-i+1
D.不确定
10. 二叉树第i(i≥1)层上至多有( )个结点。
A. 2i
B.2i
C.2i-1
D.2i-1
11.串是一种特殊的线性表, 其特殊性体现在( )
A.可以顺序存储
B.数据元素是一个字符
C.可以链接存储
D.数据元素可以是多个
12. 稀疏矩阵一般的压缩存储方法有两种,即: ( )
A.二维数组和三维数组
B.三元组和散列
C.三元组和十字链表
D.散列和十字链表
考试科目:数据结构共 4 页,第 1 页
13. 在AOE网中,完成工程的最短时间是()。
A.从源点到汇点的最长路径的长度B.从源点到汇点的最短路径的长度
C.最长的回路的长度D.最短的回路的长度
14. 数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为()。
A. 存储结构
B. 逻辑结构
C. 链式存储结构
D. 顺序存储结构
15. 在线索化二叉树中,T所指结点没有左子树的充要条件是()。
A. T->left=NULL
B. T->ltag=1
C. t->ltag=1且t->left=Null
D. 以上都不对
16.在一个具有n个顶点的有向图中,若所有顶点的出度数之和为s,则所有顶点的度数之和为()。
A.s B.s-1 C.s+1 D.2s
17. 快速排序在( )情况下最不利于发挥其长处。.
A. 被排序的数据量太大.
B. 被排序数据中含有多个相同的关键字
C. 被排序的数据完全无序
D. 被排序的数据已基本有序
18. 判定一个有向图是否存在回路除了可以利用拓扑排序方法外,还可以用()。
A.求关键路径的方法B.求最短路径的Dijkstra方法
C.广度优先遍历算法D.深度优先遍历算法
19.通过一趟排序就能从整个记录序列中选择出具有最大(或最小)关键字的记录,这种排序方法是( ) 。
A. 堆排序
B. 快速排序
C. 直接插入排序
D.归并排序
20. 设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( ) 。
A. p->next=p->next->next
B. p=p->next
C. p=p->next->next
D. p->next=p
二.填空题(每空2分,共30分)
1. 在堆排序,希尔排序,快速排序,归并排序算法中,占用辅助空间最多的是。
2. 在散列表(hash)查找中,评判一个散列函数优劣的两个主要条件是:
和。
3.堆栈是一种操作受限的线性表,它只能在线性表的进行插入和删除操作,对栈的访问是按照的原则进行的。
4.顺序查找方法适合于存储结构;在等概率查找的条件下,对于表长是n的顺序表,其平均查找长度是。
5. 循环链表的主要优点是。
6. 一个算法的效率可为效率和效率。
7.对于一个具有n个记录的序列,若采用冒泡排序,记录之间最少的比较次数是,最多的比较次数是。
8.由n个权值构成的哈夫曼树共有个结点。
9. 对于一个具有n个顶点的图,若采用邻接矩阵表示,则矩阵大小至少为× 。三.判断题(每题1分,共15分,正确的选t,错误的选f)
考试科目:数据结构共 4 页,第 2 页