当前位置:文档之家› 自考数据结构导论试题真题

自考数据结构导论试题真题

自考数据结构导论试题真题
自考数据结构导论试题真题

全国2004年1月高等教育自学考试

数据结构导论试题

课程代码:02142

一、单项选择题(本大题共15小题,每小题2分,共30分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.下列数据组织形式中,()的各个结点可以任意邻接。

A.集合B.树形结构

C.线性结构D.图状结构

2.设某二维数组A[1..n,1..n],则在该数组中用顺序查找法查找一个元素的时间复杂性的量级为()

A.O(log2n)B.O(n)

C.O(nlog2n) D.O(n2)

3.在线性表的下列存储结构中,读取元素花费时间最少的是()

A.单链表B.双链表

C.循环链表D.顺序表

4.将一个头指针为p的单链表中的元素按与原单链表相反的次序存放,则下列算法段中的空白处应为

q=NULL;

while (p!=NULL)

{

()

}

p=q;

A.r=q; q=p; p=p -> next; q -> next=r;

B.q=p; r=q; p=p -> next; q -> next=r;

C.r=q; p=p -> next; q=p; q -> next=r;

D.q=p; p=p -> next; r=q; q -> next=r;

5.数组通常具有两种基本运算,即()

A.创建和删除B.索引和修改

C.读和写D.排序和查找

6.除根结点外,树上每个结点()

A.可有任意多个孩子、任意多个双亲

B.可有任意多个孩子、一个双亲

C.可有一个孩子、任意多个双亲

D.只有一个孩子、一个双亲

7.具有100个结点的二叉树中,若用二叉链表存储,其指针域部分用来指向结点的左、右孩子,其余()个指针域为空。

A.50 B.99

C.100 D.101

8.邻接表是图的一种()

A.顺序存储结构B.链式存储结构

C.索引存储结构D.散列存储结构

9.如果无向图G必须进行二次广度优先搜索才能访问其所有顶点,则下列说法中不正确的是()

A.G肯定不是完全图B.G一定不是连通图

C.G中一定有回路D.G有2个连通分量

10.若构造一棵具有n个结点的二叉排序树,最坏的情况下其深度不会超过()A.n/2 B.n

C.(n+1)/2 D.n+1

11.若用二分查找法取得的中间位置元素键值大于被查找值,说明被查找值位于中间值的前面,下次的查找区间为从原开始位置至()

A.该中间位置B.该中间位置-1

C.该中间位置+1 D.该中间位置/2

12.散列文件不能()

A.随机存取B.索引存取

C.按关键字存取D.直接存取

13.若检索顺序文件各个记录的概率相同,设文件占用的页块数为n,则按关键字存取时的平均访问外存次数为()

A.n/2 B.n

C.n/4 D.log n

14.下列关键码序列中,属于堆的是()

A.(15,30,22,93,52,71)B.(15,71,30,22,93,52)

C.(15,52,22,93,30,71)D.(93,30,52,22,15,71)

15.已知10个数据元素为(54,28,16,34,73,62,95,60,26,43),对该数列按从小到大排序,经过一趟冒泡排序后的序列为()

A.16,28,34,54,73,62,60,26,43,95

B.28,16,34,54,62,73,60,26,43,95

C.28,16,34,54,62,60,73,26,43,95

D.16,28,34,54,62,60,73,26,43,95

二、填空题(本大题共13小题,每小题2分,共26分)

请在每小题的空格中填上正确答案。错填、不填均无分。

16.下列程序段的时间复杂性量级是_____________。

for (i=1;i

for (j=1; j

t=t+1;

17.在顺序存储的线性表(a1,a2…,a n)中的第i (1≤i≤n)个元素之前插入一个元素,则需向后移动_____________个元素。

18.在栈的顺序实现中,若栈不满,则进栈操作可以用下列算法片断实现:

_____________;

sq -> data[sq -> top]=x;

19.链队列实际上是一个同时带有头指针和尾指针的单链表,尾指针指向该单链表的_____________。

20.设有k个结点,在用哈夫曼算法构造哈夫曼树的过程中,若第i次合并时已找到权最小的结点x和权次小的结点y,用T[x].wt表示结点x的权值,已知T[x].wt=m, T[y].wt=n,则合并成新的二叉树后给新根结点的权值赋值的语句为_____________。21.在下列树中,结点H的祖先为_____________。

22.顶点数为n、边数为n(n-1)/2的无向图称为_____________。

23.动态查找表在开散列表上通常采用_____________来解决冲突问题。

24.对于有10个元素的有序表采用二分查找,需要比较3次方可找到其对应的键值,则该元素在有序表中的位置可能是______________。

25.查找表的逻辑结构与线性结构、树型结构等相比,根本区别在于______________。26.文件的基本运算包括______________和修改两类。

27.在排序方法中,依次将每个记录插入到一个有序的子序列中去,即在第i(i≥1)遍整理时,r1,r2,…,r i-1已经是排好顺序的子序列,取出第i个元素r i,在已排好序的子序列里为r i找到一个合适的位置,并把它插到该位置上。这种排序方法被称为___________。28.快速排序法在待排序数据_____________的情况下最不利于发挥其长处。

三、应用题(本大题共5小题,共30分)

29.如图所示,输入元素为A,B,C,在栈的输出端得到一个输出序列ABC,求出在栈的输入端所有可能的输入序列。(5分)

30.分别写出下列二叉树的先根、中根、后根遍历序列。(6分)

31.已知无向图G的邻接表如下,请写出其从顶点V2开始的深度优先搜索的序列。(4分)

32.设闭散列表容量为7(散列地址空间0..6),给定表(30,36,47,52,34),散列函数H(k)=k mod 6,采用线性探测法解决冲突,要求:(7分)

(1)构造散列表;

(2)求查找数34需要的比较次数。

33.已知序列(503,87,512,61,908,170,897,275,653,462)请给出采用快速排序法作升序排序时的每一趟的结果。(8分)

四、设计题(本大题共2小题,共14分)

34.设某头指针为head的单链表的结点结构说明如下:(6分)

typedef struct node1

{

int data;

struct node1*next

}node;

试设计一个算法void change (node*head),将该单链表中的元素按原单链表相反的次序重新存放,即第一个结点变成最后一个结点,第二个结点变为倒数第二个结点,如此等等。

35.编写一个算法void DisplayQueue (),产生50个300~600之间的随机整数(调用一次MyRand()可产生一个符合条件的随机整数)。每产生一个数据,若是奇数,则入队列,若是偶数,则从队首取出一个数据。要求:(8分)

(1)队列用链表实现;

(2)每产生一个数显示一次相应操作后的队列当前状态;

(3)无需定义函数int MyRand();

(4)显示队列可调用函数void DisOne (QueptrTp lq),也无需定义;(5)设链队列定义为:

typedef struct linked_queue

{int data;

struct linked_queue*next;

}LqueueTp;

typedef struct queueptr

{ LqueueTp *front, *rear;

}QueptrTp;

QueptrTp lq;

自考数据结构导论20051年10月试卷

全国2005年10月高等教育自学考试 数据结构导论试题 课程代码:02142 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.若要描述数据处理的变化过程,其正确的次序应为( ) A.处理要求、基本运算和运算、算法 B.处理要求、算法、基本运算和运算 C.基本运算和运算、处理要求、算法 D.算法、处理要求、基本运算和运算 2.从运算类型角度考虑,属于引用型的运算是( ) A.插入、删除 B.删除、修改 C.查找、读取 D.查找、删除 3.若在长度为n的顺序表中插入一个结点,则其结点的移动次数( ) A.最少为0,最多为n B.最少为1,最多为n C.最少为0,最多为n+1 D.最少为1,最多为n+1 4.在一个单链表中,若p所指结点是q所指结点的前驱结点,则在结点p、q之间插入结点s的正确操作是( ) A.s->next=q;p->next=s->next B.p->next=q;p->next=s C.s->next=q->next;p->next=s D.s->next=q->next;p->next=s->next 5.若有一串数字5、6、7、8入栈,则其不可能 ...的输出序列为( ) A.5、6、7、8 B.8、7、6、5 C.8、7、5、6 D.5、6、8、7 6.FORTRAN语言对数组元素的存放方式通常采用( ) A.按行为主的存储结构 B.按列为主的存储结构 C.按行或列为主的存储结构 D.按行和列为主的存储结构 7.树是n个结点的有穷集合,( ) A.树的结点个数可以为0,此时称该树为空树 B.树至少含有一个根结点,不能为空 C.树至少含有一个根结点和一个叶子结点 D.树至少含有一个根结点和两个叶子结点 8.深度为k的二叉树至多有( ) A.2k个叶子 B.2k-1个叶子 C.2k-1个叶子 D.2k-1-1个叶子 9.具有10个顶点的有向完全图应具有( ) 浙02142# 数据结构导论试题第 1 页(共 4 页)

全国自学考试数据结构导论试题及答案(4套)

全国2011年1月自学考试数据结构导论试题 课程代码:02142 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.在顺序表中查找第i个元素,时间效率最高的算法的时间复杂度为( ) A.O(1) B.O(n) C.O(log2n) D.O(n) 2.树形结构中,度为0的结点称为( ) A.树根 B.叶子 C.路径 D.二叉树 3.已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7},E={,,,},则图G的拓扑序列是 ( ) A.V1,V3,V4,V6,V2,V5,V7 B.V1,V3,V2,V6,V4,V5,V7 C.V1,V3,V4,V5,V2,V6,V7 D.V1,V2,V5,V3,V4,V6,V7 4.有关图中路径的定义,表述正确的是( ) A.路径是顶点和相邻顶点偶对构成的边所形成的序列 B.路径是不同顶点所形成的序列 C.路径是不同边所形成的序列 D.路径是不同顶点和不同边所形成的集合 5.串的长度是指( ) A.串中所含不同字母的个数 B.串中所含字符的个数 C.串中所含不同字符的个数 D.串中所含非空格字符的个数 6.组成数据的基本单位是( ) A.数据项 B.数据类型 C.数据元素 D.数据变量 7.程序段 i=n;x=0; do{x=x+5*i;i--;}while (i>0); 的时间复杂度为( ) A.O(1) B.O(n) C.O(n2) D.O(n3) 8.与串的逻辑结构不同的 ...数据结构是( ) A.线性表 B.栈 C.队列 D.树

数据结构导论年月试题

二00一年下半年全国高等教育自学考试 数据结构导论试卷 一、单项选择题 1.若给定有n个元素的向量,则建立一个有序单向链表的时间复杂性的量级是( ) A.O(1) B.O(n) C.O(n2) D.O(nlog2n) 2.在一个具有n个结点的单链表达中查找值为m的某结点,若查找成功,则平均比较() A.n B.n/2 C.(n-1)/2 D.(n+1)/2 3.研究数据结构就是研究() A.数据的逻辑结构 B.数据的存储结构 C.数据的逻辑结构和存储结构 D.数据的逻辑结构,存储结构及其数据在运算上的实现 4.为了方便地对图状结构的数据进行存取操作,则其数据存储结构宜采用()方式。 A、顺序存储 B、链式存储 C、索引存储 D、散列存储 5.二维数组A[10……20,5……10]采用行序为主序方式存储,每个数据元素占4个存储单元,且A[10,5]的存储地址是1000,则A[18,9]的地址是() A、1208 B、1212 C、1368 D、1364 6.设有13个值,用它们组成一棵哈夫曼树,则该哈夫曼树中共有()个结点。 A、13 B、12 C、26 D、25 7.下列几种结构中属于树型结构的是() 8.设无向图G=(V、E)和G’=(V’,E’),如G’为G的生成树,则下面不正确的说法是() A、G’为G的连通分量 B、G’为G的无环子图 C、G’为G的子图 D、G’为G的极小连通子图且V’=V 9.下列说法中不正确的是() A、无向图的极大连通子图称为连通分量 B、连通图的广度优先搜索中一般要采用队列来暂存刚访问过的顶点 C、图的深度优先搜索中一般要采用栈来暂存刚访问过的顶点 D、有向图的遍历不可采用广度优先搜索方法 10.对有序表(18,20,25,34,48,62,74,85)用二分查找法查找85,所需的比较次数为() A、1次 B、2次 C、3次 D、4次 11.散列表的平均查找长度() A、与处理冲突方法有关而与表的长度无关 B、与处理冲突方法无关而与表的长度有关 C、与处理冲突方法有关且与表的长度有关 D、与处理冲突方法无关且与表的长度无关 12.对ISAM文件的删除记录时,一般() A、只需做删除标志 B、需移动记录 C、需改变指针 D、一旦删除就需做整理 13.顺序文件适宜于() A、直接存取 B、成批处理 C、按关键字存取 D、随机存取 14.一个序列中有10000个元素,若只想得到其中前10个最小元素,最好采用()方法。 A、快速排序 B、堆排序 C、插入排序 D、二路归并排序

自考数据结构导论复习资料

数据结构导论复习 第一章概论 1.数据:凡能被计算机存储、加工处理的对象。 2.数据元素:是数据的基本单位,在程序中作为一个整体而加以考虑和处理 3.数据项:又叫字段或域,它是数据的不可分割的最小标识单位。 4.逻辑结构需要注意的几点: ①逻辑结构与数据元素本身的内容无关 ②逻辑结构与数据元素相对位置无关 ③逻辑结构与所有结点的个数无关 5.数据元素间逻辑关系是指数据元素之间的关联方式或称“领接关系”。 6.四类基本逻辑结构(集合、线性结构、树形结构和图形结构)的不同特点? 答:集合中任何两个结点之间都没有逻辑关系,组织形式松散; 线性结构中结点按逻辑关系依次排列形成一条“锁链”; 树形结构具有分支、层次特性,其形态有点像自然界中的树; 图状结构最复杂,其中的各个结点按逻辑关系互相缠绕,任何两个结点都可以领接。 7.运算是在逻辑结构层次上对处理功能的抽象

8.基本运算的含义? 答:假如是S上的一些运算的集合,是的一个子集,使得中每一运算都可以“归约”为中的一个或多个运算,而中任一运算不可归约为别的运算,则称中运算为基本运算 9.数据结构是指由一个逻辑结构S和S上的一个基本运算集构成的整体(S ,)。 10.数据结构涉及数据表示和数据处理两个方面 11.存储结构的含义和四种基本存储方式的基本思想? 答:存储结构是指按照逻辑结构的要求建立的数据的机内表示称为存储结构。 一个存储结构应包含三个主要的部分:存储结点、机内表示和附加设施。 存储结构包括四种存储方式,顺序存储方式、链式存储方式、索引存储方式和散列存储方式。 12.运算实现与运算的联系与区别? 答:运算指的是数据在逻辑结构S上的某种操作,运算只描述处理功能,不包括处理步骤和方法;而运算实现是指一个完成该运算功能的程序,运算实现的核心是处理步骤的规定,即算法设计。 13.算法的概念和分类? 答:算法是指规定了求解给定类型问题所需的所有“处理步骤”及其执行顺序,使得给定类型的任何问题能在有限时间内被

自考数据结构导论

全国2014年4月高等教育自学考试 数据结构导论试题 课程代码:02142 请考生按规定用笔将所有试题的答案涂、写在答题纸上。 选择题部分 注意事项: 1.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。 2.每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。 1.下列几种算法时间复杂度中,最小的是( A ) A.O(log2n) B.O(n) C.O(n2) D.O(1) 2.数据的存储方式中除了顺序存储方式和链式存储方式之外,还有( D ) A.索引存储方式和树形存储方式 B.线性存储方式和散列存储方式 C.线性存储方式和索引存储方式 D.索引存储方式和散列存储方式 3.表长为n的顺序表中做删除运算的平均时间复杂度为( C ) A.O(1) B.O(log2n) C.O(n) D.O(n2) 4.顺序表中定位算法(查找值为x的结点序号最小值)的平均时间复杂度为( C ) A.O(1) B.O(log2n) C.O(n) D.O(n2) 5.元素的进栈次序为A,B,C,D,E,出栈的第一个元素为E,则第四个出栈的元素为( C ) A.D B.C C.B D.A 6.带头结点的链队列中,队列头和队列尾指针分别为front和rear,则判断队列空的条件为( A ) A.front==rear B.front!=NULL C.rear!==NULL D.front==NULL 7.深度为5的二叉树,结点个数最多为( A )

全国数据结构导论10月高等教育自学考试试题与答案

全国20XX 年10月高等教育自学考试 数据结构导论试题 课程代码:02142 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.在表长为n 的顺序表上做插入运算,平均要移动的结点数为( C ) A.n/4 B.n/3 C.n/2 D.n 2.顺序表中有19个元素,第一个元素的地址为200,且每个元素占一个字节,则第14个元素的存储地址为( B )b+(i-1)l A.212 B.213 C.214 D.215 3.由顶点V 1,V 2,V 3构成的图的邻接矩阵为???? ??????010100110,则该图中顶点V 1的出度为( C ) A.0 B.1 C.2 D.3 4.元素的进栈次序为A ,B ,C ,D ,E ,则退栈中不可能... 的序列是( C ) A.A ,B ,C ,D ,E B.B ,C ,D ,E ,A C.E ,A ,B ,C ,D D.E ,D ,C ,B ,A 5.由带权为9,2,5,7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为(C ) A.23 B.37 C.44 D.46 6.在已知尾指针的单循环链表中,插入一个新结点使之成为首结点,其算法的时间复杂度为( A ) A.O (1) B.O (log 2n ) C.O (n ) D.O (n 2) 7.已知一个有序表为(13,18,24,35,47,50,62,83,90,115,134),当二分查找值为90的元素时,查找成功时需比较的次数为( B ) A.1 B.2 C.3 D.4 8.在查找顺序表各结点概率相等的情况下,顺序按值查找某个元素的算法时间复杂度为 ( B ) A.O (1) B.O (n) C.O (n ) D.O (log 2n)

2010年1月自考数据结构导论真题

全国2010年1月自学考试数据结构导论试题 课程代码:02142 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下述文件中适合于磁带存储的是() A.顺序文件 B.索引文件 C.散列文件 D.多关键字文件 2.某二叉树的后根遍历序列为dabec,中根遍历序列为debac,则先根遍历序列为() A.acbed B.becab C.deabc D.cedba 3.含有n个结点的二叉树用二叉链表表示时,空指针域个数为( ) A.n-1 B.n C.n+1 D.n+2 4.在一个图中,所有顶点的度数之和与图的边数的比是( ) A.1∶2 B.1∶1 C.2∶1 D.4∶1 5.长度为n的链队列用单循环链表表示,若只设头指针,则出队操作的时间复杂度为( ) A.O(1) B.O(1og2n) C.O(n) D.O(n2) 6.下述几种排序方法中,要求内存量最大的是( ) A.插入排序 B.快速排序 C.归并排序 D.选择排序 7.对n个不同值进行冒泡排序,在元素无序的情况下比较的次数为( ) A.n-1 B.n C.n+1 D.n(n-1)/2 8.对线性表进行二分查找时,要求线性表必须( ) A.以顺序方式存储 B.以链式方式存储 C.以顺序方式存储,且结点按关键字有序排列 D.以链接方式存储,且结点按关键字有序排列 9.在表长为n的顺序表上做删除运算,其平均时间复杂度为( ) A.O(1) B.O(n)

C.O(nlog2n) D.O(n2) 10.当利用大小为n的数组顺序存储一个队列时,该队列的最大容量为( ) A.n-2 B.n-1 C.n D.n+1 11.有关插入排序的叙述,错误的 ...是( ) A.插入排序在最坏情况下需要O(n2)时间 B.插入排序在最佳情况可在O(n)时间内完成 C.插入排序平均需要O(nlog2n)时间 D.插入排序的空间复杂度为O(1) 12.有关树的叙述正确的是( ) A.每一个内部结点至少有一个兄弟 B.每一个叶结点均有父结点 C.有的树没有子树 D.每个树至少有一个根结点与一个叶结点。 13.循环队列存储在数组元素A[0]至A[m]中,则入队时的操作为( ) A.rear=rear+1 B.rear=(rear+1)%(m-1) C.rear=(rear+1)%m D.rear=(rear+1)%(m+1) 14.关于串的的叙述,不正确 ...的是( ) A.串是字符的有限序列 B.空串是由空格构成的串 C.替换是串的一种重要运算 D.串既可以采用顺序存储,也可以采用链式存储 15.对称矩阵A[N][N],A[1][1]为首元素,将下三角(包括对角线)元素以行优先顺序存储到一维数组元素T[1]至T[N(N+1)/2]中,则任一上三角元素A[i][j]存于T[k]中,下标k为( ) A.i(i-1)/2+j B.j(j-1)/2+i C.i(j-i)/2+1 D.j(i-1)/2+l 二、填空题(本大题共13小题,每小题2分,共26分) 请在每小题的空格中填上正确答案。错填、不填均无分。 16.下列程序段的时间复杂度为____________。 for(i=1;i<=n;i++) for(j=1;j<=n;j++) for(k=1;k<=n;k++) s=i+j+k; 17.在数据结构中,各个结点按逻辑关系互相缠绕,任意两个结点可以邻接的结构称为____________。

2020年10月全国数据结构导论自考试题及答案解析.doc

??????????????????????精品自学考料推荐?????????????????? 全国 2019 年 10 月高等教育自学考试 数据结构导论试题 课程代码: 02142 一、单项选择题(本大题共15 小题,每小题 2 分,共 30 分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的 括号内。错选、多选或未选均无分。 1.要将现实生活中的数据转化为计算机所能表示的形式,其转化过程依次为() A. 逻辑结构、存储结构、机外表示 B. 存储结构、逻辑结构、机外表示 C.机外表示、逻辑结构、存储结构 D. 机外表示、存储结构、逻辑结构 2.若评价算法的时间复杂性,比较对数阶量级与线性阶量级,通常() A.对数阶量级复杂性大于线性阶量级 B.对数阶量级复杂性小于线性阶量级 C.对数阶量级复杂性等于线性阶量级 D.两者之间无法比较 3.下列关于线性表的基本操作中,属于加工型的操作是() A. 初始化、求表长度、插入操作 B. 初始化、插入、删除操作 C.求表长度、读元素、定位操作 D. 定位、插入、删除操作 4.在一个单链表中,若p 所指结点不是最后结点, s 指向已生成的新结点,则在p 之后插入

s 所指结点的正确操作是()A.s–>next=p –>next; p –>next=s; C.s–>next=p; p –>next=s; B.p –>next=s –>next; s –>next=p; D.s–>next=p –>next; p=s; 5.若有三个字符的字符串序列执行入栈操作,则其所有可能的输出排列共有() A.3 种 B.4 种 C.5 种 D.6 种 6.C 语言对数组元素的存放方式通常采用() A. 按行为主的存储结构 B. 按列为主的存储结构 C.按行或列为主的存储结构 D. 具体存储结构无法确定 7.根据定义,树的叶子结点其度数() A. 必大于 0 B. 必等于 0 C.必等于 1 D. 必等于 2 8.二叉树若采用二叉链表结构表示,则对于n 个结点的二叉树一定有() A.2n 个指针域其中n 个指针为 NULL B.2n 个指针域其中n+1 个指针为 NULL C.2n-1 个指针域其中n 个指针为 NULL D.2n-1 个指针域其中n+1 个指针为 NULL 9.在一个无向图中,所有顶点的度数之和等于边数的() A.1 倍 B.2 倍 C.3 倍 D.4 倍 10.若采用邻接表存储结构,则图的广度优先搜索类似于二叉树的() 1

自考02142《数据结构导论》串讲笔记

第一张概论 1.1 引言 两项基本任务:数据表示,数据处理 软件系统生存期:软件计划,需求分析,软件设计,软件编码,软件测试,软件维护 由一种逻辑结构和一组基本运算构成的整体是实际问题的一种数学模型,这种数学模型的建立,选择和实现是数据结构的核心问题。 机外表示------逻辑结构------存储结构 处理要求-----基本运算和运算-------算法 1.2 数据,逻辑结构和运算 数据:凡是能够被计算机存储,加工的对象通称为数据 数据元素:是数据的基本单位,在程序中作为一个整体加以考虑和处理。又称元素,顶点,结点,记录。 数据项:数据项组成数据元素,但通常不具有完整确定的实际意义,或不被当做一个整体对待。又称字段或域,是数据不可分割的最小标示单位。 1.2.2数据的逻辑结构 逻辑关系:是指数据元素之间的关联方式,又称“邻接关系” 逻辑结构:数据元素之间逻辑关系的整体称为逻辑结构。即数据的组织形式。 四种基本逻辑结构: 1 集合:任何两个结点间没有逻辑关系,组织形式松散 2 线性结构:结点按逻辑关系依次排列成一条“锁链” 3 树形结构:具有分支,层次特性,形态像自然界中的树 4. 图状结构:各个结点按逻辑关系互相缠绕,任何两个结点都可以邻接。 注意点: 1.逻辑结构与数据元素本身的形式,内容无关。 2.逻辑结构与数据元素的相对位置无关 3.逻辑结构与所含结点个数无关。 运算:运算是指在任何逻辑结构上施加的操作,即对逻辑结构的加工。 加工型运算:改变了原逻辑结构的“值”,如结点个数,结点内容等。 引用型运算:不改变原逻辑结构个数和值,只从中提取某些信息作为运算的结果。 引用:查找,读取 加工:插入,删除,更新 同一逻辑结构S上的两个运算A和B, A的实现需要或可以利用B,而B的实现不需要利用A,则称A可以归约为B。 假如X是S上的一些运算的集合,Y是X的一个子集,使得X中每一运算都可以规约为Y中的一个或多个运算,而Y中任何运算不可规约为别的运算,则称Y中运算(相对于X)为基本运算。 将逻辑结构S和在S上的基本运算集X的整体(S,X)称为一个数据结构。数据结构包括逻辑结构和处理方式。

自考数据结构导论20120年01月试卷

全国2012年1月高等教育自学考试 数据结构导论试题 课程代码:02142 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.结点按逻辑关系依次排列形成一条“锁链”的数据结构是( ) A.集合 B.线性结构 C.树形结构 D.图状结构 2.下面算法程序段的时间复杂度为( ) for ( int i=0; i

A. 先进先出的线性表 B. 先进后出的线性表 C. 后进先出的线性表 D.随意进出的线性表 8.10阶上三角矩阵压缩存储时需存储的元素个数为( ) A.11 B.56 C.100 D.101 9.深度为k(k≥1)的二叉树,结点数最多有( ) A.2k个 B.(2k -1)个 C.2k-1个 D.(2k+1)个 10.具有12个结点的二叉树的二叉链表存储结构中,空链域NULL的个数为( ) A. 11 B.13 C. 23 D. 25 11.具有n个顶点的无向图的边数最多为( ) A.n+1 B.n(n+1) C.n(n-1)/2 D.2n(n+1) 12.三个顶点v1,v2,v3的图的邻接矩阵为 010 001 010 ?? ?? ?? ?? ?? ,该图中顶点v3的入度为( ) A. 0 B. 1 C. 2 D. 3 13.顺序存储的表格中有60000个元素,已按关键字值升序排列,假定对每个元素进行查找 的概率是相同的,且每个元素的关键字值不相同。用顺序查找法查找时,平均比较次数约为( ) A.20000 B.30000 C.40000 D.60000 14.外存储器的主要特点是( ) A.容量小和存取速度低 B.容量大和存取速度低 C.容量大和存取速度高 D.容量小和存取速度高 15.在待排数据基本有序的前提下,效率最高的排序算法是( ) A.直接插入排序 B.直接选择排序 C.快速排序 D.归并排序 浙02142# 数据结构导论试题第 2 页共 5 页

02142数据结构导论份真题及答案.doc

2012年10月高等教育自学考试全国统一命题考试 数据结构导论试题 课程代码:02142 请考生按规定用笔将所有试题的答案涂、写在答题纸上。 选择题部分 注意事项: 1. 答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。 2. 每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的。错选、多选或未选均无分。 1.下面几种算法时间复杂度阶数中,值最大的是 A.O(nlog2n) B.O(n2) C.O(n) D.O(2n) 2.即使输入非法数据,算法也能适当地做出反应或进行处理,不会产生预料不到的运行结果,这种算法好坏的评价因素称为 A.正确性 B.易读性 C.健壮性 D.时空性 3.设顺序表的长度为100,则在第40个元素之后插入一个元素所需移动元素的个数为 A.40 B.60 C.61 D.100 4.设带头结点的单循环链表的头指针为head,则判断该链表是否为空的条件是 A. head->next==head B. head->next==NULL C. head!=NULL D. head==NULL 5.在链栈的运算中,不需要 ...判断栈是否为空的是 A.出栈 B.进栈 C.取栈顶元素 D.求链栈的元素个数 6.一个队列的输入序列是A,B,C,D,则该队列的输出序列是 A.A,B,C,D B.B,C,D,A C.D,C,B,A D.C,D,B,A 7.以行序为主序的二维数组a[3][5]中,第一个元素a[0][0]的存储地址是100,每个元素占2个存储单元,则a[1][2]的存储地址是 A.100 B.108 C.114 D.116 8.对任何一棵二叉树T,若叶结点数为5个,则度为2的结点个数为 A.4 B.5 C.6 D.无法确定 9.m个叶结点的哈夫曼树中,其结点总数为 A.m B.2m+1

【自考真题】2018年4月数据结构导论02142试题

绝密★考试结束前 全国2018年4月高等教育自学考试 数据结构导论试题 课程代码:02142 请考生按规定用笔将所有试题的答案涂二写在答题纸上三 选择题部分 注意事项: 1.答题前,考生务必将自己的考试课程名称二姓名二准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上三 2.每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑三如需改动,用橡皮擦干净后,再选涂其他答案标号三不能答在试题卷上三 一二单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将 答题纸”的相应代码涂黑三错涂二多涂或未涂均无分三 1.数据的逻辑结构分为四种,其中结构最复杂的是 A.集合 B.线性结构 C.树形结构 D.图结构 2.下面程序是矩阵转置算法MM的实现过程,其时间复杂度为 const int n=3; void MM(int A[n][n]) { int i,j,temp; for(i=0;i

3.设顺序表的表长为n,则删除一个元素在最坏情况下元素移动次数为 A.n-2 B.n-1 C.n D.n+1 4.带头结点的双向循环链表L为空的条件是 A.L->next==L->prior B.L->prior==NULL C.(L->next==L)&&(L->prior==L) D.(L->next==L)&&(L->prior=NULL) 5.执行进栈操作,在元素x进栈前需要进行的操作是 A.判断栈是否满,若栈未满,top值加1 B.判断栈是否空,若栈未空,top值加1 C.判断栈是否满,若栈未满,top值减1 D.判断栈是否空,若栈未空,top值减1 6.关于队列,下列叙述正确的是 A.队列的元素个数可以无穷大 B.队列中元素的类型可以不同 C.队列是一个非线性的序列 D.队列的特点是先进先出 7.设循环队列的元素存放在一维数组Q[30]中,队列非空时,front指示队列首结点的前一个位置,rear指示队列尾结点三如果队列中元素的个数为10,front的值为25,则rear应指向的元素是 A.Q[4] B.Q[5] C.Q[14] D.Q[15] 8.二叉树第i(i≥1)层上的结点数最多为 A.2i-1 B.i-1 C.2*i D.2*(i-1) 9.关于二叉链表,下列叙述正确的是 A.二叉链表是二叉树唯一的链式存储结构 B.对二叉链表的访问可以从任意结点开始 C.每个二叉链表不需要有一个指向根节点的指针 D.二叉链表的结点结构包含一个数据域和两个指针域 10.假设初始森林中共有n棵二叉树,每棵树中都仅有一个孤立的结点三将该森林构造成哈夫 曼树,则最终求得的哈夫曼树的结点数为 A.n-1 B.n C.2n-1 D.2n 11.无向图中的极大连通子图是 A.连通分量 B.生成树 C.强连通分量 D.强连通图 12.在用邻接表表示图时,对图进行深度优先搜索遍历的算法的时间复杂度为 A.O(n) B.O(n+e) C.O(n2) D.O(n3)

自考02142《数据结构导论》串讲笔记

: 第一张概论 引言 两项基本任务:数据表示,数据处理 软件系统生存期:软件计划,需求分析,软件设计,软件编码,软件测试,软件维护 由一种逻辑结构和一组基本运算构成的整体是实际问题的一种数学模型,这种数学模型的建立,选择和实现是数据结构的核心问题。 机外表示------逻辑结构------存储结构 ~ 处理要求-----基本运算和运算-------算法 数据,逻辑结构和运算 数据:凡是能够被计算机存储,加工的对象通称为数据 数据元素:是数据的基本单位,在程序中作为一个整体加以考虑和处理。又称元素,顶点,结点,记录。 数据项:数据项组成数据元素,但通常不具有完整确定的实际意义,或不被当做一个整体对待。又称字段或域,是数据不可分割的最小标示单位。 — 1.2.2 数据的逻辑结构 逻辑关系:是指数据元素之间的关联方式,又称“邻接关系” 逻辑结构:数据元素之间逻辑关系的整体称为逻辑结构。即数据的组织形式。 四种基本逻辑结构: 1 集合:任何两个结点间没有逻辑关系,组织形式松散 2 线性结构:结点按逻辑关系依次排列成一条“锁链” 3 树形结构:具有分支,层次特性,形态像自然界中的树 { 4. 图状结构:各个结点按逻辑关系互相缠绕,任何两个结点都可以邻接。 注意点: 1.逻辑结构与数据元素本身的形式,内容无关。 2.逻辑结构与数据元素的相对位置无关 3.逻辑结构与所含结点个数无关。 运算:运算是指在任何逻辑结构上施加的操作,即对逻辑结构的加工。 。 加工型运算:改变了原逻辑结构的“值”,如结点个数,结点内容等。 引用型运算:不改变原逻辑结构个数和值,只从中提取某些信息作为运算的结果。 引用:查找,读取 加工:插入,删除,更新 同一逻辑结构S上的两个运算A和B, A的实现需要或可以利用B,而B的实现不需要利用A,则称A可以归约为B。

自考02142《大数据结构导论》串讲笔记

第一概论 1.1 引言 两项基本任务:数据表示,数据处理 软件系统生存期:软件计划,需求分析,软件设计,软件编码,软件测试,软件维护 由一种逻辑结构和一组基本运算构成的整体是实际问题的一种数学模型,这种数学模型的建立,选择和实现是数据结构的核心问题。 机外表示------逻辑结构------存储结构 处理要求-----基本运算和运算-------算法 1.2 数据,逻辑结构和运算 数据:凡是能够被计算机存储,加工的对象通称为数据 数据元素:是数据的基本单位,在程序中作为一个整体加以考虑和处理。又称元素,顶点,结点,记录。 数据项:数据项组成数据元素,但通常不具有完整确定的实际意义,或不被当做一个整体对待。又称字段或域,是数据不可分割的最小标示单位。 1.2.2 数据的逻辑结构 逻辑关系:是指数据元素之间的关联方式,又称“邻接关系” 逻辑结构:数据元素之间逻辑关系的整体称为逻辑结构。即数据的组织形式。 四种基本逻辑结构: 1 集合:任何两个结点间没有逻辑关系,组织形式松散 2 线性结构:结点按逻辑关系依次排列成一条“锁链” 3 树形结构:具有分支,层次特性,形态像自然界中的树 4. 图状结构:各个结点按逻辑关系互相缠绕,任何两个结点都可以邻接。 注意点: 1.逻辑结构与数据元素本身的形式,容无关。 2.逻辑结构与数据元素的相对位置无关 3.逻辑结构与所含结点个数无关。 运算:运算是指在任何逻辑结构上施加的操作,即对逻辑结构的加工。 加工型运算:改变了原逻辑结构的“值”,如结点个数,结点容等。 引用型运算:不改变原逻辑结构个数和值,只从中提取某些信息作为运算的结果。 引用:查找,读取 加工:插入,删除,更新 同一逻辑结构S上的两个运算A和B, A的实现需要或可以利用B,而B的实现不需要利用A,则称A可以归约为B。 假如X是S上的一些运算的集合,Y是X的一个子集,使得X中每一运算都可以规约为Y中的一个或多个运算,而Y中任何运算不可规约为别的运算,则称Y中运算(相对于X)为基本运算。 将逻辑结构S和在S上的基本运算集X的整体(S,X)称为一个数据结构。数据结构包括逻辑结构和处理方式。

数据结构导论

数据结构导论const maxsize=顺序表的容量; typedf struct {datatype data[maxsize]; int last; {sqlist; sqlist L; 顺序表的插入算法: void insert_sqlist(sqlist L,datetype x,int i) { if(https://www.doczj.com/doc/d53969193.html,st==maxsize)error(…表潢?); if((i<1)||(i>https://www.doczj.com/doc/d53969193.html,st+1))error(…非法位置?); for(j=https://www.doczj.com/doc/d53969193.html,st;j=i;j--) L.data[j]=L.data[j-1]; L.data[i-1]=X; https://www.doczj.com/doc/d53969193.html,st=https://www.doczj.com/doc/d53969193.html,st+1 } 顺序表的删除算法: void delete_sqlist(sqlist L,int i); { if((i<1)||(i>https://www.doczj.com/doc/d53969193.html,st)) error(非法位置); for(j=i+1;j=https://www.doczj.com/doc/d53969193.html,st;j++) L.data[j-2]=L.data[j-1]; https://www.doczj.com/doc/d53969193.html,st=https://www.doczj.com/doc/d53969193.html,st-1 } 顺序表的查找算法: int locate_sqlist(sqlist L,datatype X) { i=1; while((i<=https://www.doczj.com/doc/d53969193.html,st)&&(L.data[i-1]!=x)) i++; if(i<=https://www.doczj.com/doc/d53969193.html,st) return(i) else return(0) } 单链表类型定义 typedef struct node *pointer; struct node {datatype data; pointer next; }; typedef pointer lklist;

数据结构导论-实践设计报告-1

实践考核题第一题设计报告书 学生姓名学生学号 所在地区泰安市提交日期(年/月)2014/6 实践题目利用队的结构解决实际问题 需求分析 (1)、置空 setnull ( queue ) 将队列 queue 置成空队列 调用setnull(queue)函数把队列queue的顶端指针和低端指针指向同一块地址,这样就把队列置空。当队列中的数据元素不用或者必须要清楚的时候,就必须调用该函数把队列中的数据清空才能在插入新的数据供用户操作使用。 (2)、入队 enqueue ( queue , x ) 将元素 x 插入队列 queue 的尾部 调用函数enqueue(queue,x),通过移动首指针找到要入队的数据,直到把队列的空间占满。有 数据要进入队列时,调用该函数把数据元素x插入到队列中,先判断队列是否已满让后才能把数据元素插入到队尾。 (3)、出队 dequeue ( queue ) 删除队列 queue 的队头元素,函数返回被删除元素的值 通过移动首指针把队首的指针往下移动一个地址,这样就把一个元素数据出队了。当要出队时,队列是从头指针开始一系列操作。先判断该队列是否为空队列,如果不是的话,在进行出队操作把头指针往上移一个地址,这样就把数据出队了。 (4)、判队空isempty ( queue ) 若栈stack 为空,函数返回0 ,否则返回1 判断队列的为空的条件是(queue.rear==queue.front)如果为空返回数值1,否则返回0。当出队操作时,需要判断队列是否为空,调用该函数。 概要设计 这三个函数置空、入队和出队,使用的都是顺序循环存储结构。

队列是有限个同类型数据元素的线性序列,是一种先进先出(First In First Out)的新型表,新加入的数据元素插在队列的尾端,出队列的数据元素在队列首部被删除。 顺序存储实现的队列称为顺序队列,它由一个一维数组(用于存储队列中元素)及两个分别指示队列首和队列尾元素的变量组成,这两个变量分别称为“队列首指针”和“队列尾指针”。 (1)、队列是有限的数据元素的集合,要定义一个常量说明该队列的大小; (2)、定义顺序队列的类型包括一个数据域和两个指针域(首指针和尾指针),并声明一个该类型的变量以便于操作; (3)、根据需求分析写出每个函数的功能: 置空函数:根据函数的形参,即传递进来的队列指针,调用它的首指针和尾指针让两个指针相等,就把队列中的元素全部清空。 入队函数:首先判断该队列是否已满,如果队列已满,就退出操作。否则,执行入队操作的语句,由于是循环队列所以在移动尾指针时,要把尾指针的位置取余运算(queue.rear=(queue.rear+1)%maxsize;),然后把数据元素赋给尾指针(queue,data[queue.rear]=x;)。 出队函数:当有数据元素要出队时,首先判断该队列是否为空,如果为空时,元素出队列失败。否则,当队列不为空时,执行出队操作(queue.front=(queue.front+1)%maxsize;)返回数值1,说明出队成功。判空函数:该函数是用来判断队列是否为空的,是被别的函数调用作为判断条件用,若果为空的话就返回数值0,标志不能继续执行下面的语句。判断为空的条件是:queue.rear==queue.front;如果为空返回值为1,否则返回值为0。 详细设计 对于队列的操作首先需要把队列置空,然后插入数据元素,在插入元素时需要判断是否队列已满,在数据元素出队时需要先对队列判断是否为空,如果为空时结束程序继续执行,否则继续执行出队操作。(1)定义结构体 Typedef struct seqqueue //定义结构体类型seqqueue

数据结构导论填空题目汇总

2004----01 16下列程序段的时间复杂性量级是____0(n*i)_________。 for (i=1;i top ++_________ sq -> data[sq -> top]=x 19链队列实际上是一个同时带有头指针和尾指针的单链表,尾指针指向该单链表的______队尾结点_______。 20设有k个结点在用哈夫曼算法构造哈夫曼树的过程中若第i次合并时已找到权最小的结点x和权次小的结点y用Tx.wt表示结点x的权值已知Tx.wt=m,Ty.wt=n则合并成新的二叉树后给新根结点的权值赋值的语句为____m+n_________。 21在下列树中结点H的祖先为_____F________。 22顶点数为n、边数为n(n-1)/2的无向图称为___无向完全图__________。 任何两点之间都有的边的无向图称为无向完全图;边数(n(n-1)/2) 任何两点之间都有弧的有向图称为有向完全图;弧数(n*(n-1)) 23动态查找表在开散列表上通常采用___线性探测法和链地址法__________来解决冲突问题。 24对于有10个元素的有序表采用二分查找需要比较3次方可找到其对应的键值则该元素在有序表中的位置可能是___1,3,6,9___________。 25查找表的逻辑结构与线性结构、树型结构等相比根本区别在于____数据元素之间无逻辑关系__________。 27在排序方法中依次将每个记录插入到一个有序的子序列中去即在第i(i≥1)遍整理时r1,r2,…,r i-1已经是排好顺序的子序列取出第i个元素r i在已排好序的子序列里为r i找到一个合适的位置并把它插到该位置上。这种排序方法被称为____直接插入排序_______。 28快速排序法在待排序数据____已基本有序_________的情况下最不利于发挥其长处。2004---10 16.从数据结构的观点,数据通常可分为三个层次,即:数据、数据元素和____数据项_______。 18.对顺序表执行插入操作,其插入算法的平均时间复杂性为____ O(n)_______。 19.在具有n个单元、且采用顺序存储的循环队列中,队满时共有_____ n-1______个元素。 20.若front和rear分别表示循环队列Q的头指针和尾指针,m0表示该队列的最大容量,则循环队列为空的条件是___Q·front==Q·rear ________。

“数据结构导论”的学习方法

我想在自考将要来临之际,为各位正在忙碌复习当中的自考学友们,提供一点复习思路,以便能顺利通过10月份的考试.下面就是我的一点复习心得和总结,希望能对你有所帮助! "如果你想通过数据结构导论这门课,至少得看两遍书吧?" 第一遍就是粗略的看一下,这样你心里也就有了底,也就大概的了解了数据结构导论 这门课所讲的内容,并且那里是考点在头脑里也就都有了大致的把握,这样,你就可以带着相应的重点,去重点把握你觉得重要的东西了!不过其实你到现在如果连一遍也没看过呢,也没关系,我下面的总结就是希望能对这些还没看过书的人,有所帮助! 下面就列出一些我觉得是重点的东西: 1,线性表,这一章整个都比较重要,因为这一章中关于线性表的顺序实现和链接实现及在上面的基本运算,在最后考试中很有可能以多种形式的考法出现(如:选择,填空,应用及程序设计等).并且由于这一章是整本书的基础,所以考试时占的比重会比较大,最后的程序设计题很可能就从这一章里出一道甚至两道都从这章里出(一道程序设计题6分).这一点是我在作过大量模拟试题和分析了历年试卷的基础上得出的结论,应当比较有参考价值.在这一章中有一个知识点应引起大家的注意,就是链式存储结构,因为这种存储结构在以后的各章中对于各种结构的实现(如:树,图等)都比较有用且实用.所以对于它的掌握应当达到"综合应用"的等级!(一点建议:如果你在第一次看的时候遇到了自己不懂的问题,可以先尝试着跳过去看后面的,等后面的看完了,再回过头看不会的这一段,问题就可能迎刃而解了!^>,中国水利水电出版社,宁郑元主编一书)只要知道它的各种运算及结果就可以了(考试时也就这么考了:--P) 如:DELETE ("ACABA",3,3)=? 结果为:"AC" 又如:SUBSTR("ABBCA",2,2)=? 结果为:"BB" 2,栈,队列和数组:这一章里你要掌握的东西就比较简单了(如果你掌握了上一章的内容对于这一章来讲,基本上就没有难题了)这一章里你要牢记两个概念:关于栈和队列的修改原则:(1),栈,后进先出,所有操作都是在栈顶进行的.(2),队列,先进先出,插入运算只能在对尾进行,删除运算只能在对头进行!且注意对头指针指示对头元素在数组中实际位置的前一个位置;实现递归调用属于栈的应用! 再附上关于栈和队列的几道例题如下: 1,运算(*作)是数据结构的一个重要方面,试举一例,说明两个数据结构的.逻辑结构和存储方式完全相同,只是对于运算(*作)的定义不同,因而两个结构具有显著不同的特性,是两个不同的结构.

相关主题
文本预览
相关文档 最新文档