2012福建省数据结构基础考资料
2012年10月--2007年1月自考2331数据结构历年试题和答案

全国2012年10月高等教育一、单项选择题(本大题共l5小题,每小题2分,共30分)1.一个算法的时间耗费的数量级称为该算法的( D ) D.时间复杂度2.顺序表便于( D ) D.按序号查找结点3.设带头结点的单循环链表的头指针为head,指针变量P指向尾结点的条件是( B ) B.p->next==head4.设以数组A[0..m-1]存放循环队列,front指向队头元素,rear指向队尾元素的下一个位置,则当前队列中的元素个数为( A ) A.(rear-front+m)%m5.下列关于顺序栈的叙述中,正确的是( A )A.入栈操作需要判断栈满,出栈操作需要判断栈空6.A是一个10×10的对称矩阵,若采用行优先的下三角压缩存储,第一个元素a0,0的存储地址为1,每个元素占一个存储单元,则a7,5的地址为( D ) D.347.树的后序遍历等价于该树对应二叉树的( C ) C.中序遍历8.使用二叉线索树的目的是便于( D ) D.查找一个结点的前趋和后继9.设无向图的顶点个数为n,则该图边的数目最多为( B) B.n(n-1)/2 10.可进行拓扑排序的图只能是(C)C.有向无环图11.下列排序方法中稳定的是(A)A.直接插入排序12.下列序列不为..堆的是(C)C.75,65,30,l5,25,4513.对线性表进行二分查找时,要求线性表必须是(C)C.顺序存储且按关键字有序14.分别用以下序列生成二叉排序树,其中三个序列生成的二叉排序树是相同的,不同..的序列是(A)A.(4,1,2,3,5)15.下列关于m阶B树的叙述中,错误..的是(A)A.每个结点至多有m个关键字二、填空题(本大题共10小题,每小题2分,共20分)16.数据元素之间的逻辑关系称为数据的__逻辑____结构。
17.在线性表中,表的长度定义为__数据元素的个数____。
18.用S表示入栈操作,X表示出栈操作,若元素入栈的顺序为1、2、3、4,为了得到1、3、4、2的出栈顺序,相应的S和X的操作序列为__SXSSXSXX____。
2012年福建省重要数据基础

if(level>k) return (leaf); //层数大于k 后退出运行
}//while }//结束LeafKLevel
5、两棵空二叉树或仅有根结点的二叉树相似;对非空二叉树,可判左右子树是否相似,采用递归算法。
typedef struct
{BiTree t;int tag;//tag=0 表示结点的左子女已被访问,tag=1表示结点的右子女已被访问
}stack;
stack s[],s1[];//栈,容量够大
BiTree Ancestor(BiTree ROOT,p,q,r)//求二叉树上结点p和q的最近的共同祖先结点r。
(2).请用C或PASCAL编写一个函数BIPARTITE判断一个连通无向图G是否是二部图,并分析程序的时间复杂度。设G用二维数组A来表示,大小为n*n(n为结点个数)。请在程序中加必要的注释。若有必要可直接利用堆栈或队列操作。【
3、给出折半查找的递归算法,并给出算法时间复杂度性分析。
4、对二叉树的某层上的结点进行运算,采用队列结构按层次遍历最适宜。
11、假设以I和O分别表示入栈和出栈操作。栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为非法序列。(15分)
(1)A和D是合法序列,B和C 是非法序列。
(2)设被判定的操作序列已存入一维数组A中。
int Judge(char A[])
if(j!=k) {printf(“序列非法\n”);return(false);}
else {printf(“序列合法\n”);return(true);}
福建农林大学数据结构考点&复习资料

第一章基本概念一般考选择题,概念题第二章基本概念一般考选择题,概念题第三章基本概念一般考选择题,概念题第四章树的基本概念一般考选择题,概念题考点:二叉树的非递归的遍历加上层次遍历哈夫曼编码一般考综合分析题第五章图的基本概念一般考选择题,概念题考点:图的深度和广度优先一般考程序填空题Dijkstra 和prim算法(二选一考)考综合分析题以及这两种算法的数组第七章索引(查找)的基本概念一般考选择题,概念题考点:求ASL=?折半查找一般考程序填空题BBST一般考综合分析题平衡二叉树第八章排序的基本概念一般考选择题,概念题考点:快速排序,堆排序,归并排序一般考程序填空题快速排序,堆排序一般考综合分析题红色是八分题题型一、选择题20分二、概念题20分三、程序题题20分四、综合分析题40分选择题&填空题五、时间复杂度总结六、各种排序算法时间、空间复杂度七、直接插入排序:原始数据元素集合越接近有序,该算法效率越高,时间复杂度为O(n)~ O(n2),空间复杂度O(1)(可以改进为稳定排序算法)八、希尔排序:分成若干小组,小组内部用直接插入排序。
时间复杂度为O(n(lbn)2),空间复杂度O(1)九、理论依据是:待排数据集合越接近有序,直接插入排序算法效率越高。
希尔排序就是尽量使得待排集合变得有序。
(不稳定算法)十、直接选择排序:定位最小值元素,即把最小的放在第零个位置,然后在剩下的元素中选择最小的放在第一个元素,以此类推。
时间复杂度为O(n2),空间复杂度为O(1)。
(稳定算法)十一、堆排序:(1)、以当前元素创建最大堆;(2)、进行堆排序,首先,使第0个元素和最后一个元素交换位置;再次,使堆元素个数减1;最后,调整堆使之保持为最大堆。
时间复杂度为:O(nlbn)【完全二叉树的深度为lbn】,空间复杂度为O(1)。
(不稳定)十二、冒泡排序:相邻两个数据元素交换,时间复杂度O(n)~O(n2),空间复杂度为O(1)。
福建省考研计算机复习资料数据结构常考题解析

福建省考研计算机复习资料数据结构常考题解析数据结构作为计算机考研的重要内容之一,常常会出现在考试中,因此熟悉常考题型并进行解析对于备考非常必要。
本文将对福建省考研计算机专业的数据结构常考题进行解析,以助于考生的复习备考。
一、常见题型分析1. 单选题单选题是考研中常见的题型之一,通过从若干选项中选择一个正确答案来回答问题。
在数据结构中,单选题多涉及基本概念、算法和常见数据结构的应用等方面。
考生在准备时应重点复习这些方面的内容,以便能够准确地选择正确答案。
2. 多选题多选题要求考生从若干选项中选择多个正确答案,其中往往会夹杂有干扰选项。
对于这种题型,考生需具备较深入的理解和掌握,才能正确辨别出正确选项。
在复习过程中,考生应注重掌握数据结构相关知识的深度和广度,以提高自己的解题能力。
3. 填空题填空题在数据结构考试中也是常见的一种题型。
在这类题目中,考生需要在给定的空中填写一个或多个合适的内容,以完整答案。
对于这种类型的题目,考生需要熟悉各种数据结构的定义、特点和相关算法的实现,确保对每个填空的内容都能正确把握。
4. 算法设计题算法设计题是数据结构考试中的一种较难题型,要求考生具备一定的算法设计和实现能力。
在这类题目中,考生需要根据题目要求,设计出一个可行的算法,并给出相应的实现。
在复习过程中,考生应着重掌握常用算法的设计思想和实现过程,以及算法的优缺点和适用范围等方面的知识。
二、常考题解析1. 单选题常见的单选题有:(1)题目:对于一个长度为n的有序(非递减)序列,若要查找某个元素的位置,合适的算法是:A. 顺序查找B. 折半查找C. 插值查找D. 哈希查找解析:由于给定序列是有序的,所以可以采用折半查找算法,将查找的时间复杂度降低到O(logn)。
因此,正确答案是B。
2. 多选题常见的多选题有:(1)题目:下列哪些数据结构是非线性表?A. 数组B. 链表C. 栈D. 队列E. 树F. 图解析:线性表是一种数据结构,其中的元素按照一定的顺序排列。
2012福建省公务员考试公共基础知识考资料

1、下列说法正确的是____。
A、操作系统是一种系统软件B、操作系统是计算机硬件的一个组成部分C、操作系统目的是使用户能按菜单操作D、操作系统是数据库管理系统的子系统2、在word的表格中,要计算一列数据的总和,应该使用哪个公式____。
A、SUMB、AVERAGEC、MIND、COUNT3、利用计算机将文字、声音、图形、图像和视频等多种媒体有机结合起来进行处理的技术称为____。
A、数字技术B、多媒体技术C、网络技术D、通信技术4、“文件”菜单中“关闭”‘命令的意思是____。
A 关闭WORD窗口连同其中的文档窗口,并回到Windows桌面B、关闭当前文档窗口,并退出WindowsC 关闭WORD窗口连同其中的文档窗口,退到DOS状态下D、关闭当前文档窗口,不关闭WORD应用程序窗口5、浏览器软件浏览网站时,收藏夹或书签的作用是____A、记住某些网站地址,方便下次访问B、复制网页中的内容C、打印网页中的内容D、隐藏网页中的内容6、当word“编辑”菜单中的“剪切”和“复制”命令呈浅灰色而不能被选择时,则表示____。
A、选定的内容是页眉或页脚B、选定的文档内容太长,剪贴板放不下C、剪贴板里已经有信息了D、在文档中没有选定的任何信息7、Word主窗口水平滚动条的左侧有四个显示方式切换按钮:“普通视图”、“联机版式视图”、“页面视图”和____。
A、大纲视图B、主控文档C、其他视图D、全屏显示8、在word 编辑状态下制表时,若插入点位于表格外右侧的行尾处,按回车键,结果是____。
A、光标移到下一列B、光标移到下一行,表格行数不变C、插入一行,表格行数改变D、在本单元格内换行,表格行数不变9、下列属于计算机局域网基本部件的是____A、声卡B、网卡C、网页浏览器D、媒体播放器10、通常把计算机网络定义为____。
A、以共享资源为目标的计算机系统,称为计算机网络B、能按网络协议实现通信的计算机系统,称为计算机网络C、把分布在不同地点的多台计算机互联起来构成的计算机系统,称为计算机网络D、把分布在不同地点的多台计算机在物理上实现互联,按照网络协议实现相互间的通信,共享硬件、软件和数据资源为目标的计算机系统,称为计算机网络。
2013福建省数据结构基础考试重点和考试技巧

26、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是( A )。
A)直接选择排序 B)直接插入排序
C)快速排序 D)起泡排序
27、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
A) (G) B) (D) C) C D) D
8、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。
A) hs->next=s; B) s->next=hs->next; hs->next=s;
C) s->next=hs; hs=s; D) s->next=hs; hs=hs->next;
C) rear=front->next; D) front=rear->next ;
5、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
6、用一维数组A进行顺序存储时,若起始地址为loc(A1),元素长度为c,则A的第i个数组单元在存放地址loc(Ai),等于( B )。
A)一个数量级别 B)一个平均值
C)一个最大值 D)一个均方值
28、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
A)顺序表示法 B)单字符为结点的单链表表示法
C)等量分块表示法 D)不等量分块表示法
22、以下属于顺序存储结构优点的是( A )。
A) 存储密度大 B) 插入运算方便
C)删除运算方便 D)可方便地用于各种逻辑结构的存储表示
2012数据结构_习题及程序设计整理

2012数据结构_习题及程序设计整理疯狂记忆力数据结构是计算机科学中非常重要的一个领域,它主要研究数据的组织、存储和管理方式。
在学习数据结构的过程中,习题和程序设计是提高理解和应用的重要手段。
下面将整理一些2012年的数据结构习题及程序设计内容,帮助读者巩固和深入理解这一领域的知识。
一、线性结构1. 线性表是数据结构中最基本的一种结构,它的特点是元素之间存在一对一的关系,先后次序唯一确定。
请写一个C语言程序,实现线性表的基本操作,包括插入、删除、查找等。
2. 栈是一种特殊的线性表,具有“先进后出”的特点。
设计一个栈,支持判断栈是否为空、入栈和出栈操作,并实现一个简单应用情境,例如操作系统任务的进出栈操作。
3. 队列也是一种特殊的线性表,具有“先进先出”的特点。
设计一个队列,支持判断队列是否为空、入队和出队操作,并实现一个简单应用情境,例如模拟排队等待的场景。
二、非线性结构1. 树是一种重要的非线性结构,它以分层的方式存储数据。
定义一个树的基本数据结构,包括节点的定义、插入节点、删除节点等操作。
2. 图是由节点和边组成的数据结构,用于表示多对多的关系。
请设计一个简单的图结构,实现图的初始化、添加节点、添加边以及遍历等基本操作。
三、查找与排序1. 二分查找是一种常见的查找算法,适用于有序数组。
请编写一个二分查找算法的Java程序,并验证其正确性。
2. 快速排序是一种常见的排序算法,通过分治法实现。
请实现一个快速排序算法的Python程序,并对随机生成的一组数据进行排序。
四、高级数据结构1. 堆是一种完全二叉树,主要用于实现高效的优先队列。
设计一个堆的数据结构,并实现堆排序算法。
2. 哈希表是一种以键值对存储数据的数据结构,通过哈希函数实现高效的数据查找。
请实现一个简单的哈希表,包括哈希函数的设计、数据的插入和查找等操作。
以上是一些2012年的数据结构习题及程序设计内容,涵盖线性结构、非线性结构、查找与排序以及高级数据结构等方面的内容。
厦门理工学院12级数据结构期末试卷与答案

线 订 装数据结构与算法A卷答案12-13学年第一学期一、选择题:(本题共20小题,每题2分,共40分)1-5:AABDC 6-10:DDDBC 11-15:CBCDD 16-20:ABCAB二、分析运算题(本题共6小题,每题5分,共30 分)(1) 如果输入序列为1 2 3,先进入栈结构后进入队列结构,试写出所有的出队列序列。
输出序列1 2 3(1分)输出序列1 3 2(1分)输出序列2 1 3(1分)输出序列2 3 1(1分)输出序列3 2 1(1分)输出序列3 1 2(扣3分)(2) 假设一棵二叉树的前序(先序)遍历序列为ABDECF和中序序列为DBEAFC,画出二叉树并写出后序遍历序列。
①(3分)②后序遍历:DEBFCA (2分)(3) 用二叉树表示算术表达式如图1所示。
①按图画出对应的算术表达式②写出后序(后缀)表达式算术表达式:(a+b+c*(d+e)+f)*(g+h) (2分)后序表达式:ab+cde+*+f+gh+*(3分)(4) 请写出有向图2中顶点1-6的入度和出度1: 入度:3出度:02: 入度:2出度:23: 入度:1出度:24: 入度:1出度:35: 入度:2出度:16: 入度:2出度:3(入度2.5分,出度2.5分)(5) 给定一组项及其权值,假定项都存放于二叉树的树叶结点,则具有最小带权外部路径长度的树称为huffman(赫夫曼) 树。
给定项及相应的权如下表:画出相应的huffman树。
(5分)(6)已经邻接矩阵如图3所示,判断该图是有向图还是无向图,用顶点1-6画出该图。
有向图(2分)三、程序填空题(本题共5空,每空2分,共10分)(1):p!=NULL(2):p = p->next;(3): Q.front= =Q.rear(4): Q.front->next=p->next;(5): Q.rear=Qfront;四、算法设计题(本题共2小题,共20分)1、(10分)算法如下:void move(sqlist L){int i=0,j=L.lenght-1,k; 1分int temp;while(i<j) 1分{while(L.elem[i]<=0) i++; 2分while(L.elem[j]>=0) j--; 2分if(i<j) 1分{temp=L.elem[i];L.elem[i]=L.elem[j];L.elem[j]=temp; 3分}}}注:算法执行次数(时间)比给定算法更多,不得超过6分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。
A)n B)2e C)e D) n+e
2、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。
A) Head(Head(Tail(Tail(L))))
B) Tail(Head(Head(Tail(L))))
C) Head(Tail(Head(Tail(L))))
D)Head(Tail(Head(Tail(Tail(L)))))
3、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->next
C)p=p->nexe->next D)p->next=p
4、已知栈的最大容量为4。
若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( C )。
A) 5,4,3,2,1,6 B) 2,3,5,6,1,4
C) 3,2,5,4,1,6 D) 1,4,6,5,2,3
5、以下属于顺序存储结构优点的是( A )。
A) 存储密度大B) 插入运算方便
C)删除运算方便D)可方便地用于各种逻辑结构的存储表示
6、广义表head(((a,b),(c,d)))的运算结果为( A )。
A)(a,b) B)(c,d)
C)空表 D)((a,b),(c,d))
7、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
8、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;
C)p=p->next->next; D) p->next=p;
9、用一维数组A进行顺序存储时,若起始地址为loc(A1),元素长度为c,则A的第i个数组单元在存放地址loc(Ai),等于( B )。
A)loc(A1)+i*c B)loc(A1)+(i-1)*c
C)loc(A1)+i*c+1 D)loc(A1)+(i+1)*c
10、队列的操作的原则是( A )。
A)先进先出 B) 后进先出
C) 只能进行插入 D) 只能进行删除
11、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列
C)顺序队列 D)链队列
12、队列的操作的原则是( A )。
A)先进先出 B) 后进先出
C) 只能进行插入 D) 只能进行删除。