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

合集下载

全国2009年1月自考数据结构导论考试试题,答案,笔记分析

全国2009年1月自考数据结构导论考试试题,答案,笔记分析

全国2009年1月高等教育自学考试数据结构导论试题课程代码:02142一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.数据的不可分割的最小标识单位是( A )A.数据项B.数据记录C.数据元素(数据和运算基本单位)D.数据变量2. for(i=0;i<m;i++)for(j=0;j<t;j++)c[i][j]=0;for(i=0;i<m;i++)for(j=0;j<t;j++)for(k=0;k<n;k++)c[i][j]=c[i][j]+a[i][k]*b[k][j];上列程序的时间复杂度为( C )A.O(m+n×t)B.O(m+n+t)C.O(m×n×t)D.O(m×t+n)3.若线性表最常用的操作是存取第i个元素及其前趋的值,那么最节省操作时间的存储方式是( B )A.单链表B.双链表C.单循环链表D.顺序表4.设单链表中指针p指向结点A,要删除A之后的结点(若存在),则修改指针的操作为( A )A.p—>next=p—>next—>next(下一个,下一个原则)B.p=p—>nextC.p=p—>next—>nextD.p—>next=p5.向一个栈顶指针为hs的链栈中插入一个*s结点时,应执行的操作为( B )A.hs—>next=s;B.s—>next=hs;hs=s;(下一个,赋值原则)C.s—>next=hs—>next;hs—>next=s;D.s—>next=hs;hs=hs—>next;6.设循环队列的元素存放在一维数组Q[0‥30]中,队列非空时,front指示队头元素的前一个位置,rear指示队尾元素。

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

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

第一张概论1.1 引言两项基本任务:数据表示,数据处理软件系统生存期:软件计划,需求分析,软件设计,软件编码,软件测试,软件维护由一种逻辑结构和一组基本运算构成的整体是实际问题的一种数学模型,这种数学模型的建立,选择和实现是数据结构的核心问题。

机外表示------逻辑结构------存储结构处理要求-----基本运算和运算-------算法1.2.1 数据,逻辑结构和运算数据:凡是能够被计算机存储,加工的对象通称为数据数据元素:是数据的基本单位,在程序中作为一个整体加以考虑和处理。

又称元素、顶点、结点、记录。

数据项:数据项组成数据元素,但通常不具有完整确定的实际意义,或不被当作一个整体对待。

又称字段或域,是数据不可分割的最小标示单位。

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)为基本运算。

数据结构导论串讲笔记

数据结构导论串讲笔记

1)已知出栈序列,写出可能的入栈序列并分析操作过程。

2)已知入栈序列,写出可能的出栈序列并分析操作过程。

[2004/1]如下图所示,输入元素为(A ,B ,C ),在栈的输出端得到一个输出序列ABC ,求出在栈的输入端所有可能的输入序列。

【分析】A ,B ,C 三个字符排成的序列可以有:ABC 、ACB 、BAC 、BCA 、CAB 、CBA 六种,按堆栈操作的先进后出(或后进先出)的原则,只有输入序列为BCA 时,输出无法得到ABC 。

因为输入序列为BCA 时,要想先输出A ,必须BCA 均入栈,但这样只能得到序列ACB 。

其余五种输入序列都可在输出端得到序列ABC。

【解答】ABC 、ACB 、BAC 、CAB 、CBA 2.队列的操作分析顺序队中元素入队出队操作及队列的状态。

(考过)[2003/10]设有一顺序队列sq ,容量为5,初始状态时sq .front=sq .rear=0,画出做完下列操作后队列及其头尾指针的状态变化情况,若不能入队,请简述其理。

(1) d ,e ,b 入队 (2) d ,e 出队 (3) i ,j 入队 (4) b 出队 (5) n ,o ,p 入队【解答】队列及其头尾指针的状态变化情况如下图所示(a )初态 (b )d ,e ,b 入队 (c ) d ,e 出队 (d ) i ,j 入队 (e )b 出队第5步操作无法进行,因队列已满。

3.二叉树的存储结构1) 给出一棵二叉树,画出二叉链表示意图及顺序存储示意图。

([2000/10] [2003/10] [2004/10]考过)[2003/10]画出下列二叉树的二叉链表表示图。

Sq.frontSq.rearSq.front Sq.rear Sq.rearSq.front Sq.rear【解答】二叉树的二叉链表表示2) 给出二叉树的顺序存储示意图,画出二叉树。

([2005/1]考过)【分析】按照给出的顺序存储结构,先绘制出一棵包括空结点的完全二叉树,然后去掉空结点就是所求的二叉树。

全国2010年1月自考数据结构导论考试试题,答案,笔记

全国2010年1月自考数据结构导论考试试题,答案,笔记

全国2010年1月自考数据结构导论考试试题,答案,笔记全国2010年1月高等教育自学考试数据结构导论试题课程代码:02142一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.下述文件中适合于磁带存储的是( A )A.顺序文件B.索引文件C.散列文件D.多关键字文件2.某二叉树的后根遍历序列为dabec,中根遍历序列为debac,则先根遍历序列为( D )A.acbedB.becabC.deabcD.cedba3.含有n个结点的二叉树用二叉链表表示时,空指针域个数为( C )A.n-1B.nC.n+1D.n+2 注:子域为2n个,有n-1个孩子。

4.在一个图中,所有顶点的度数之和与图的边数的比是( C)A.1∶2B.1∶1C.2∶1D.4∶15.长度为n的链队列用单循环链表表示,若只设头指针,则出队操作的时间复杂度为( A)A.O(1)B.O(1og2n) 二分法注:若只有尾指针,那么入和出都为O(1)C.O(n) (入队)D.O(n2) -冒泡6.下述几种排序方法中,要求内存量最大的是( C )A.插入排序B.快速排序C.归并排序D.选择排序7.对n个不同值进行冒泡排序,在元素无序的情况下比较的次数为( D)A.n-1B.nC.n+1D.n(n-1)/28.对线性表进行二分查找时,要求线性表必须( C)A.以顺序方式存储B.以链式方式存储C.以顺序方式存储,且结点按关键字有序排列D.以链接方式存储,且结点按关键字有序排列9.在表长为n的顺序表上做删除运算,其平均时间复杂度为( B )A.O(1)B.O(n) 注:在双向循环链表中,删除最后一个结点C.O(nlog2n)D.O(n2) 的时间复杂度为O(1)10.当利用大小为n 的数组顺序存储一个队列时,该队列的最大容量为( B )A.n-2B.n-1C.nD.n+1 11.有关插入排序的叙述,错误的...是( C)A.插入排序在最坏情况下需要O(n 2)时间B.插入排序在最佳情况可在O(n)时间内完成C.插入排序平均需要O(nlog 2n)时间-----快速排序需要o (nlog2n )D.插入排序的空间复杂度为O(1) 12.有关树的叙述正确的是( C)A.每一个内部结点至少有一个兄弟B.每一个叶结点均有父结点C.有的树没有子树D.每个树至少有一个根结点与一个叶结点。

全国2010年1月自考数据结构导论考试试题,答案,笔记

全国2010年1月自考数据结构导论考试试题,答案,笔记

全国2010年1月高等教育自学考试数据结构导论试题课程代码:02142一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.下述文件中适合于磁带存储的是( A )A.顺序文件B.索引文件C.散列文件D.多关键字文件2.某二叉树的后根遍历序列为dabec,中根遍历序列为debac,则先根遍历序列为( D )A.acbedB.becabC.deabcD.cedba3.含有n个结点的二叉树用二叉链表表示时,空指针域个数为( C )A.n-1B.nC.n+1D.n+2 注:子域为2n个,有n-1个孩子。

4.在一个图中,所有顶点的度数之和与图的边数的比是( C)A.1∶2B.1∶1C.2∶1D.4∶15.长度为n的链队列用单循环链表表示,若只设头指针,则出队操作的时间复杂度为( A)A.O(1)B.O(1og2n) 二分法注:若只有尾指针,那么入和出都为O(1)C.O(n) (入队)D.O(n2) -冒泡6.下述几种排序方法中,要求内存量最大的是( C )A.插入排序B.快速排序C.归并排序D.选择排序7.对n个不同值进行冒泡排序,在元素无序的情况下比较的次数为( D)A.n-1B.nC.n+1D.n(n-1)/28.对线性表进行二分查找时,要求线性表必须( C)A.以顺序方式存储B.以链式方式存储C.以顺序方式存储,且结点按关键字有序排列D.以链接方式存储,且结点按关键字有序排列9.在表长为n的顺序表上做删除运算,其平均时间复杂度为( B )A.O(1)B.O(n) 注:在双向循环链表中,删除最后一个结点C.O(nlog 2n)D.O(n 2) 的时间复杂度为O(1)10.当利用大小为n 的数组顺序存储一个队列时,该队列的最大容量为( B ) A.n-2 B.n-1 C.nD.n+111.有关插入排序的叙述,错误的...是( C ) A.插入排序在最坏情况下需要O(n 2)时间 B.插入排序在最佳情况可在O(n)时间内完成C.插入排序平均需要O(nlog 2n)时间 -----快速排序需要o (nlog2n )D.插入排序的空间复杂度为O(1) 12.有关树的叙述正确的是( C ) A.每一个内部结点至少有一个兄弟 B.每一个叶结点均有父结点 C.有的树没有子树D.每个树至少有一个根结点与一个叶结点。

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

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

自学考试《数据结构导论》串讲笔记
一、考试题型及分数分布情况:
1、选择题:共15小题,每小题2分,共30分。

2、填空题:共13小题,每小题2分,共26分。

选择题和填空题涵盖全书八章的内容,大部分章2道题,个别章1道题。

主要是考试大纲中要求“识记”和“领会”的内容,注重对基础知识的考核。

3、应用题:共6小题,每小题5分,共30分。

主要是考试大纲要求“简单应用”的内容。

全书可以以应用题的方式出考题的知识点共17类,在后面的讲解中,我将给大家详细讲解。

4、算法设计题:共2小题,每小题7分,共14分。

主要是考试大纲中要求“综合应用”的内容。

考核点主要集中在第2章的有关单链表的算法、第4章的二叉树遍历的有关算法和第8章的排序的相关算法。

二、学习建议:
1、在听每一章的串讲之前,认真阅读教材相关内容。

原因在于串讲语速快,考点堆积,需要对课程内容的熟知。

2、在听完每一章的串讲之后,要做参考书上该章的“同步训练”及历年考试真题涉及本章的题目。

(建议考生看一下机械工业出版社2005年5月出版的《数据结构导论学习辅导与真题解析》)。

3、全书可以以应用题的方式出考题的17类知识点(放一本小书,内
容是附件:十七类可能出应用题的考点.doc),每一个考点都要搜集整理
出一道典型的题目及题目的解答。

4、考生要尽量多搜集第2章的有关单链表的算法、第4章的二叉树
遍历的有关算法和第8章的排序的相关算法,多分析多写,做好充分准备。

5、最后做几套模拟试题,注意严格按正式考试进行,积累应对考试
的经验。

数据结构导论-自学考试-概念整理

数据结构导论-自学考试-概念整理

第一章概论第二章线性表第三章栈和队列第四章串第五章多维数组第六章树第七章图第八章排序第九章查找第一章概论1.数据:信息的载体,能被计算机识别、存储和加工处理。

2.数据元素:数据的基本单位,可由若干个数据项组成,数据项是具有独立含义的最小标识单位。

3.数据结构:数据之间的相互关系,即数据的组织形式。

它包括:1)数据的逻辑结构,从逻辑关系上描述数据,与数据存储无关,独立于计算机;2)数据的存储结构,是逻辑结构用计算机语言的实现,依赖于计算机语言。

3)数据的运算,定义在逻辑结构上,每种逻辑结构都有一个运算集合。

常用的运算:检索/插入/删除/更新/排序。

4.数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。

数据的存储结构是逻辑结构用计算机语言的实现。

5.数据类型:一个值的集合及在值上定义的一组操作的总称。

分为:原子类型和结构类型。

6.抽象数据类型:抽象数据的组织和与之相关的操作。

优点:将数据和操作封装在一起实现了信息隐藏。

7. 抽象数据类型ADT:是在概念层上描述问题;类:是在实现层上描述问题;在应用层上操作对象(类的实例)解决问题。

8.数据的逻辑结构,简称为数据结构,有:(1)线性结构,若结构是非空集则仅有一个开始和终端结点,并且所有结点最多只有一个直接前趋和后继。

(2)非线性结构,一个结点可能有多个直接前趋和后继。

9.数据的存储结构有:1)顺序存储,把逻辑相邻的结点存储在物理上相邻的存储单元内。

2)链接存储,结点间的逻辑关系由附加指针字段表示。

3)索引存储,存储结点信息的同时,建立附加索引表,有稠密索引和稀疏索引。

4)散列存储,按结点的关键字直接计算出存储地址。

10.评价算法的质量:1正确性;算法应能正确地事先预定的功能。

2易读性;算法应易于阅读和理解,以便于调试和扩充。

3健壮性;当环境发生变化时,算法能适当地做出反应或进行处理,不会产生不需要的运行结果。

4高效率;即达到所需的时间和空间性能。

11.算法的时间复杂度T(n):是该算法的时间耗费,是求解问题规模n的函数。

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

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

数据结构导论复习第一章概论1.数据:凡能被计算机存储、加工处理的对象。

2.数据元素:是数据的基本单位,在程序中作为一个整体而加以考虑和处理3.数据项:又叫字段或域,它是数据的不可分割的最小标识单位。

4.逻辑结构需要注意的几点:①逻辑结构与数据元素本身的内容无关②逻辑结构与数据元素相对位置无关③逻辑结构与所有结点的个数无关5.数据元素间逻辑关系是指数据元素之间的关联方式或称“领接关系”。

6.四类基本逻辑结构(集合、线性结构、树形结构和图形结构)的不同特点?答:集合中任何两个结点之间都没有逻辑关系,组织形式松散;线性结构中结点按逻辑关系依次排列形成一条“锁链”;树形结构具有分支、层次特性,其形态有点像自然界中的树;图状结构最复杂,其中的各个结点按逻辑关系互相缠绕,任何两个结点都可以领接。

7.运算是在逻辑结构层次上对处理功能的抽象8.基本运算的含义?答:假如Γ是S上的一些运算的集合,∆是Γ的一个子集,使得Γ中每一运算都可以“归约”为∆中的一个或多个运算,而∆中任一运算不可归约为别的运算,则称∆中运算为基本运算9.数据结构是指由一个逻辑结构S和S上的一个基本运算集∆构成的整体(S ,∆)。

10.数据结构涉及数据表示和数据处理两个方面11.存储结构的含义和四种基本存储方式的基本思想?答:存储结构是指按照逻辑结构的要求建立的数据的机内表示称为存储结构。

一个存储结构应包含三个主要的部分:存储结点、机内表示和附加设施。

存储结构包括四种存储方式,顺序存储方式、链式存储方式、索引存储方式和散列存储方式。

12.运算实现与运算的联系与区别?答:运算指的是数据在逻辑结构S上的某种操作,运算只描述处理功能,不包括处理步骤和方法;而运算实现是指一个完成该运算功能的程序,运算实现的核心是处理步骤的规定,即算法设计。

13.算法的概念和分类?答:算法是指规定了求解给定类型问题所需的所有“处理步骤”及其执行顺序,使得给定类型的任何问题能在有限时间内被机械地求解。

全国2009年1月自考数据结构导论考试试题,答案,笔记

全国2009年1月自考数据结构导论考试试题,答案,笔记

33.用快速排序法对数据序列(49,38,65,97,16,53,134,27,39)进行排序,写出其第一趟排序的全过程。 答:初始关键字[49 38 65 97 16 53 134 27 39] 第 1 趟排序后[39 38 27 16] 49 [53 134 97 65] 第 2 趟排序后[16 38 27 ] 39 49 [53 134 97 65] 第 3 趟排序后 16 [ 38 27] 39 49 [53 134 97 65] 第 4 趟排序后 16 27 38 39 49 [53 134 97 65] 第 5 趟排序后 16 27 38 39 49 53 [ 134 97 65] 第 6 趟排序后 16 27 38 39 49 53 [ 65 97 ] 134 第 7 趟排序后 16 27 38 39 49 53 65 97 134 解题经验: 1. 对第一个数字初始 2. 然后将这个数字与中间的数字进行比较,若大于这个数字,那么这个数字往前推一个,若小于这个数字,那么 这个数字往后退一个。 3. 然后以关键字为分界点,1.若分界点左的数小于分界点,分界点右的数大于分界点,那么这个数字不动。2.第 三找出分界点左面大于分界点的数,按照从后往前的顺序写。再找出分界点右面的大于分界点的数,也是倒着 写。 4. 最后,分别对分好的块前后比较,前大于后,调换,小于不动,依次类推。先左后右原则。
13.二分查找算法的时间复杂度是( D ) 2 A.O(n ) (冒泡排序(平均复杂时间程度) ) C.O(n) (冒泡排序(最好情况下时间复杂程度) )
B.O(nlog2n) D.O(log2n)
(快速排序)
14.已知 8 个元素(34,76,45,18,26,54,92,65) ,按照依次插入结点的方法生成一棵二叉排序树,则该树的 深度为( B ) A.4 B.5 注:1.二次排序树的规则: C.6 D.7 左小又大,连续一致原则 34 ○ 18 ○ 26 ○ 45 ○ 54 ○ 65 ○ 76 ○ 92 ○ 1 2 3 4 5

自考数据结构导论 02142第二章 线性表

自考数据结构导论  02142第二章 线性表
1,初始化 2,求表长度 3,取表元 4,定位 5,插入 6,删除 Initiate(L) Length(L) Get(L,i) Locate(L,x) Insert(L,x,i) Delete(L,i)
区分引用型和加工型操作
11
2.2 线性表的顺序实现
定义 顺序表是线性表的顺序存储存储结构,即 以一段连续内存存放的线性表 此时, 内存的顺序性体现了数据间的逻辑关系 线性表中相邻的结点在存储结构中仍相邻
//学号 //姓名 //性别 //年龄 //班级 //成绩
数据项为一个整体
17
1、结构体类型的定义
struct 结构体类型名 { 数据类型名1 成员名1; 数据类型名2 成员名2; …… 数据类型名n 成员名n; };
struct是关键字, 不能省略 成员类型可以是 基本型或构造型
合法标识符 可省:无名结构体
第 二 章
线 性 表
1
第2章 线性表
2.1 2.2 2.3 2.4 2.5 2.6 2.7 线性表的基本概念 线性表的顺序存储 线性表的链接存储 其它运算在单链表上的实现 其它链表 顺序实现与连接实现的比较 小结
2
3
本章总述
本章主要讨论了线性表及它的两种存储实现:顺序实现和 链接实现;另外,简单介绍了串这种特殊的线性表的运算和存 储实现。
内存映像 (BC下)
20
2、结构体变量的定义和引用 结构体变量的定义 直接定义法:定义结构体类型的同时定义结构体变量
struct [结构体类型名] { 数据类型名1 成员名1; …… 数据类型名n 成员名n; } 变量名列表;
struct Student_Info { char no[9]; char name[20]; char sex; unsigned int age; unsigned int classno; float grade; } student1, student2;

自学考试《数据结构》各章复习要点总结

自学考试《数据结构》各章复习要点总结
1. 先进后出(FIL…
栈顶元素总是最后被插入的元素,最早被删除。
2. 元素具有相对位置
栈中的元素具有相对位置,即栈底元素位于栈的最下方,栈顶元素位于栈的最上方。
3. 限定插入和删除位置
只能在一端(称为栈顶)进行插入和删除操作。
03
04
05
栈的定义和特点
01
02
总结词
队列是一种特殊的线性数据结构,遵循先进先出(FIFO)原则。
顺序存储结构的优点
顺序存储结构具有访问速度快、空间利用率高等优点,适用于元素数量固定的线性表。
顺序存储结构的缺点
顺序存储结构的插入和删除操作较为复杂,需要移动大量元素,且需要预先分配连续的存储空间。
链式存储结构的概念
链式存储结构是指将线性表中的元素分散存储在若干个节点中,每个节点包含数据域和指针域,指针域指向下一个节点。
02
线性查找的时间复杂度为O(n),其中n为数据结构中的元素个数。
线性查找
二分查找是一种高效的查找算法,适用于有序的数据结构。
二分查找将数据结构分成两半,比较中间元素与目标值,根据比较结果决定在左半部分或右半部分继续查找,直到找到目标值或确定目标值不存在。
二分查找的时间复杂度为O(log n),其中n为数据结构中的元素个数。
总结词
图的存储结构
图的遍历是指按照某种规则访问图中的所有节点,并对每个节点执行相应的操作。
图的遍历算法包括深度优先搜索(DFS)和广度优先搜索(BFS)。DFS按照深度优先的顺序访问节点,而BFS则按照广度优先的顺序访问节点。
总结词
详细描述
图的遍历
最短路径算法
最短路径算法是指在图中找到两个节点之间的最短路径,即路径长度最短的一条路径。

自考数据结构导论__02142_第一章_概论

自考数据结构导论__02142_第一章_概论
数据结构导论
主讲:赖益强


《数据结构导论》是计算机科学与技术专业的一门必修课
程。本课程介绍如何组织各种数据在计算机中的存储、传递和
转换。 内容包括:线性表、栈、队列、数组、树、二叉树、图等基
本数据结构及其应用;排序和查找的原理与方法;数据在外存
上的组织方法。
2
第1章 概论
1.1引言 1.2基本概念和术语 1.3算法及描述 1.4算法分析
C语言概述
简单的C语言程序介绍
C语言程序 例1:/*example1.c*/屏幕上显示一句话 函数声明 main ( ) 部分 { printf("This is a C program.\n"); 函数体 } C程序由函数组成

运行结果是在屏幕上显示: This is a C program.
思考:
21


存储结构的分类: 顺序结构

顺序的方法: 将元素存储到一片连续的存储区 .
姓名和电话号码数据
22
存储结构的分类: 链式结构
这种结构是给结点附加一个指针字段, 指出其后继节点的位 置, 即存放结点的存储单元分为两部分: 特点: 1)动态分配,不需要预先确定内存分配; 2)插入和删除不需要移动其他元素; 3)非随机存取结构。
3
本章总述
要求熟悉各名词、术语的含义,掌握基本概念。
包括数据、数据元素、数据项、逻辑关系和逻辑结构、
运算和基本运算、数据结构、存储方式和存储结构、 算法及算法分析等。注意这些概念之间的联系。
本章重点 逻辑结构和数据结构的概念。 本章难点 算法的时间复杂性分析。
4
5
1.1
1.数据结构的概念

数据结构导论串讲笔记(计算机及应用)

数据结构导论串讲笔记(计算机及应用)

数据结构导论串讲笔记(计算机及应用)自考操作系统笔试题汇总(附答案)在下列系统中,()是实时系统。

a.计算机激光照排系统b.航空定票系统c.办公自动化系统d.计算机辅助设计系统答案:b2.操作系统是一种()。

a.应用软件b.系统软件c.通用软件d.工具软件答案:b3.引入多道程序的目的在于()。

a.充分利用cpu,增加cpu等待时间b.提升实时响应速度c.有助于代码共享资源,增加主、辅存信息交换量d.充分利用存储器答案:a4.已经获得除()以外的所有运行所需资源的进程处于就绪状态a.存储器b.打印机c.cpud.磁盘空间答案:c5.进程调度的关键问题:一就是挑选合理的(),二就是恰当地展开代码切换a.时间片间隔b.调度算法c.cpu速度d.内存空间答案:b6.采用轮转法调度是为了():a.多个终端都能够获得系统的及时积极响应b.先来先服务c.优先级较高的进程得到及时调度d.需cpu最短的进程先做答案:a7.在一段时间内只容许一个进程出访的资源,称作()a.共享资源b.临界区c.临界资源d.共享资源区答案:c8.并发性是指若干事件在()发生a.同一时刻b.同一时间间隔内c.相同时刻d.相同时间间隔内答案:b9.在单一处理器上,将执行时间有重叠的几个程序称为()a.顺序程序b.多道程序c.并发程序d.并行程序答案:c10.程序运行时,独霸系统资源,只有程序本身能够发生改变系统资源状态,这就是指()a.程序顺序继续执行的重现性b.程序顺序继续执行的封闭性c.并发程序丧失封闭性d.并发程序丧失重现性答案:b11.引人多道程序技术以后,处理器的利用率()a.减少了b.有所改善c.大大提高d.没变化,只是程序的继续执行便利了.答案:c12.在单一处理器上执行程序,多道程序的执行是在()进行的。

a.同一时刻b.同一时间间隔内c.某一紧固时刻d.某一紧固时间间隔内答案:b13.为了使多个进程能有效地同时处理输入和输出,最好使用()a.缓冲区b.闭合缓冲区环c.多缓冲区d.双缓冲区答案:a14.在进程通信中,()常通过变量、数组形式来实现。

复习总结资料(数据结构导论)

复习总结资料(数据结构导论)

《数据结构导论》复习资料课程代码:02142一、单项选择题1.一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是A.不确定 B.n-i+1 C.i D.n-i2.具有N个结点的二叉树的二叉链表结构中,指针域为NULL的数目应为A. N B.2N C.N+1 D.2N+13.栈S最多能容纳4个元素。

现有6个元素按A、B、C、D、E、F的顺序进栈, 问下列哪一个序列是可能的出栈序列?A.(E、D、C、B、A、F) B.(B、C、E、F、A、D)C.(C、B、E、D、A、F) D.(A、D、F、E、B、C)4.已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行下列哪一个操作?A.s->next = p; p-> next = s; B.s-> next = p->next; p-> next = s;C.s-> next = p-> next; p = s; D. p-> next = s; s-> next = p;5.设带头结点的单循环链表的头指针为head,则判断该链表是否为空的条件是A.head->next==head B.head->next==NULLC.head!=NULL D.head==NULL6.一个队列的输入序列是A,B,C,D,则该队列的输出序列是A.A,B,C,D B.B,C,D,AC.D,C,B,A D.C,D,B,A7.以行序为主序的二维数组a[3][5]中,第一个元素a[0][0]的存储地址是100,每个元素占2个存储单元,则a[1][2]的存储地址是A.100 B.108 C.114 D.1168.二叉树的中序遍历序列中,结点P排在结点Q之前的条件是A.在二叉树中P在Q的左边B.在二叉树中P在Q的右边C.在二叉树中P是Q的祖先D.在二叉树中P是Q的子孙9.有10个顶点的无向完全图的边数是A.11 B.45 C.55 D.9010.在带权有向图中求两个结点之间的最短路径可以采用的算法是A.迪杰斯特拉(Dijkstra)算法B.克鲁斯卡尔(Kruskal)算法C.普里姆(Prim)算法D.深度优先搜索(DFS)算法11.利用双向链表作线性表的存储结构的优点是A.便于单向进行插入和删除的操作B.便于双向进行插入和删除的操作C.节省空间D.便于销毁结构释放空间12.在闭散列表中,散列到同一个地址而引起的“堆积”问题是引起的。

《数据结构导论》

《数据结构导论》

1.3 算法分析初步
算法(Algorithm):是对特定问题求解方法(步骤)的一种描述 ,是指令的有限序列,其中每一条指令表示一个或多个操作 。
算法具有以下五个特性:
① 有穷性: 一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。 ② 确定性:算法中每一条指令必须有确切的含义。不存在二义性。且算法只有一个入口 和一个出口。 ③ 可行性: 一个算法是能行的。即算法描述的操作都可以通过已经实现的基本运算执行 有限次来实现。
题。如表1-1,数据与数据成简单的一对一的线性关系。
姓名 张三 王八 。。。
电话号码 13612345588 13056112345
。。。
案例及应用
例2:蒋氏家谱目录
本问题是一种典型的树型结构问 题,如图1-1 ,数据与数据成一对多 的关系,是一种典型的非线性关系结
构—树形结构。
图1-1 树形结构
在C语言中,用一维数组表示顺序存储结构;用结构体类型表示链式存储结构。 除了两种存储方式外,还有索引存储方式和散列存储方式。
1.2.4 数据结构的运算
运算:指在某种逻辑结构上施加的操作,即对逻辑结构的加工。
数据结构的主要运算包括: ⑴ 建立(Create)一个数据结构; ⑵ 消除(Destroy)一个数据结构; ⑶ 从一个数据结构中删除(Delete)一个数据元素; ⑷ 把一个数据元素插入(Insert)到一个数据结构中; ⑸ 对一个数据结构进行访问(Access); ⑹ 对一个数据结构(中的数据元素)进行修改(Modify); ⑺ 对一个数据结构进行排序(Sort); ⑻ 对一个数据结构进行查找(Search)。
例:设有数据集合A={3.0,2.3,5.0,-8.5,11.0} ,两种不同的存储结构。 顺序结构:数据元素存放的地址是连续的; 链式结构:数据元素存放的地址是否连续没有要求。

自学考试02142《数据结构导论》历年真题全套试题

自学考试02142《数据结构导论》历年真题全套试题

自考02142《数据结构导论》历年真题集电子书目录1. 目录 (2)2. 历年真题 (3)2.1 02142数据结构导论200410 (3)2.2 02142数据结构导论200510 (7)2.3 02142数据结构导论200610 (10)2.4 02142数据结构导论200701 (14)2.5 02142数据结构导论200710 (17)2.6 02142数据结构导论200801 (19)2.7 02142数据结构导论200810 (22)2.8 02142数据结构导论200901 (25)2.9 02142数据结构导论200910 (28)2.10 02142数据结构导论201001 (30)2.11 02142数据结构导论201010 (34)2.12 02142数据结构导论201101 (37)2.13 02142数据结构导论201110 (40)3. 相关课程 (42)1. 目录历年真题()02142数据结构导论200410()02142数据结构导论200510()02142数据结构导论200610()02142数据结构导论200701()02142数据结构导论200710()02142数据结构导论200801()02142数据结构导论200810()02142数据结构导论200901()02142数据结构导论200910()02142数据结构导论201001()02142数据结构导论201010()02142数据结构导论201101()02142数据结构导论201110()相关课程()2. 历年真题2.1 02142数据结构导论2004102004年下半年高等教育自学考试全国统一命题考试数据结构导论试题课程代码2142一、单项选择题(本大题共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=B.p–>next=s–>next; s–>next=C.s–>next=p; p–>next=D.s–>next=p–>next; p=5.若有三个字符的字符串序列执行入栈操作,则其所有可能的输出排列共有()A.3种B.4种C.5种D.6种6.C语言对数组元素的存放方式通常采用()A.按行为主的存储结构B.按列为主的存储结构C.按行或列为主的存储结构D.具体存储结构无法确定7.根据定义,树的叶子结点其度数()A.必大于0B.必等于0C.必等于1D.必等于28.二叉树若采用二叉链表结构表示,则对于n个结点的二叉树一定有()A.2n个指针域其中n个指针为NULLB.2n个指针域其中n+1个指针为NULLC.2n-1个指针域其中n个指针为NULLD.2n-1个指针域其中n+1个指针为NULL9.在一个无向图中,所有顶点的度数之和等于边数的()A.1倍B.2倍C.3倍D.4倍10.若采用邻接表存储结构,则图的广度优先搜索类似于二叉树的()A.先根遍历B.中根遍历C.后根遍历D.层次遍历11.采用顺序查找法,若在表头设置岗哨,则正确的查找方式通常为()A.从第0个元素开始往后查找该数据元素B.从第1个元素开始往后查找该数据元素C.从第n个元素开始往前查找该数据元素D.从第n+1个元素开始往前查找该数据元素12.下列查找中,效率最高的查找方法是()A.顺序查找B.折半查找C.索引顺序查找D.分块查找13.索引文件通常由索引表和主文件两部分构成,其中()A.索引表和主文件均必须是有序文件B.索引表和主文件均可以是无序文件C.索引表必须是有序文件D.主文件必须是有序文件14.直接插入排序算法,其时间复杂性为()A.O(1)B.O(n)C.O(nlog2n)D.O(n2)15.下列排序方法中,属于稳定的排序方法是()A.直接插入排序法B.快速排序法C.冒泡排序法D.堆排序法二、填空题(本大题共13小题,每小题2分,共26分)请在每小题的空格中填上正确答案。

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

第一张概论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)称为一个数据结构。

数据结构包括逻辑结构和处理方式。

1.3 存储实现和运算实现由于逻辑结构是设计人员根据解题需要选定的数据组织形式,因此存储实现建立的机内表示应遵循选定的逻辑结构。

另一方面,由于逻辑结构不包括结点内容即数据元素本身的表示,因此存储实现的另一主要内容是建立数据元素的机内表示。

按上述思路建立的数据的机内表示称为数据的存储结构。

存储结构包括三部分:1.存储结点,每个存储结点存放一个数据元素。

2.数据元素之间关联方式的表示,也就是逻辑结构的机内表示。

3.附加设施,如方便运算实现而设置的“哑结点”等。

四种基本存储方式:1.顺序存储方式:每个存储结点只含一个数据元素。

所有存储结点相继存放在一个连续的存储区里。

用存储结点间的位置关系表述数据元素之间的逻辑关系。

2.链式存储方式:每个存储结点不仅含有一个数据元素,还包含一组指针。

每个指针指向一个与本结点有逻辑关系的结点,即用附加的指针表示逻辑关系。

3.索引存储方式:每个存储结点只含一个数据元素,所有存储结点连续存放。

此外增设一个索引表,索引指示各存储结点的存储位置或位置区间端点。

4.散列存储方式:每个结点含一个数据元素,各个结点均匀分布在存储区里,用散列函数指示各结点的存储位置或位置区间端点。

1.3.2 运算实现运算只描述处理功能,不包括处理步骤和方法;运算实现的核心是处理步骤的规定,即算法设计。

算法:算法规定了求解给定问题所需的所有处理步骤及其执行顺序,使得给定类型的任何问题能在有限时间内被机械的求解。

算法分类:1:运行终止的程序可执行部分:又称为程序2: 伪语言算法:不可以直接在计算机上运行,但容易编写和阅读。

3:非形式算法:用自然语言,同时可能还使用了程序设计语言或伪语言描述的算法。

1.4 算法分析算法质量评价指标:1.正确性:能够正确实现处理要求2.易读性:易于阅读和理解,便于调试,修改和扩充3.健壮性:当环境发生变化,算法能够适当做出反应或处理,不会产生不需要的运行结果4.高效率:达到所需要的时空性能。

如何确定一个算法的时空性能,称为算法分析一个算法的时空性能是指该算法的时间性能和空间性能,前者是算法包含的计算量,后者是算法需要的存储量。

算法在给定输入下的计算量:1.根据该问题的特点选择一种或几种操作作为“标准操作”。

2.确定每个算法在给定输入下共执行了多少次标准操作,并将此次数规定为该算法在给定输入下的计算量。

若无特殊说明,将默认以赋值语句作为标准操作。

最坏情况时间复杂性:算法在所有输入下的计算量的最大值作为算法的计算量平均时间复杂性:算法在所有输入下的计算量的加权平均值作为算法的计算量。

算法的输入规模(问题规模)是指作为该算法输入的数据所含数据元素的数目,或与此数目有关的其他参数。

常见时间复杂性量级:1.常数阶:O(1)即算法的时间复杂性与输入规模N无关或N恒为常数。

2.对数阶:Olog2 N3.线性阶:O(N)4.平方阶:O(N2)5.指数阶:O(2N次方)通常认为指数阶量级的算法实际是不可计算的,而量级低于平方阶的算法是高效率的第二章线性表2.1 线性表的基本概念线性结构:线性结构是N(N大于等于0)个结点的有穷序列。

A I 称为Ai+1的直接前趋,A i+1称为Ai 的直接后继。

为满足运算的封闭性,通常允许一种逻辑结构出现不含任何结点的情况。

不含任何结点的线性结构记为()或线性结构的基本特征:若至少含有一个结点,则除起始节点没有直接前趋外,其他结点有且只有一个直接前趋,除终端结点没有直接后继外,其他结点有且只有一个直接后继。

2.1.2 线性表线性表的逻辑结构是线性结构。

所含结点个数称为线性表的长度(表长)。

表长为0的是空表。

线性表的基本运算:1.初始化initiate (L):加工型运算,其作用是建立一个空表L= 。

2.求表长length (L):引用型运算,其结果是线性表L的长度。

3.读表元get (L,i):引用型运算。

若1小于等于i小于等于length(L),其结果是L的第i个结点,否则为一特殊值。

4.定位(按值查找)locate(L,X):引用型运算。

若L中存在一个或多个值与X相等,结果为这些结点的序号最小值,否则,运算结果为0。

5.插入insert (L,X,i):加工型运算。

在L的第i个位置上增加一个值为X的新结点,参数i的合法取值范围是1---L+1。

6.删除delete (L,i):加工型运算。

撤销L的第i个结点ai, i的合法取值范围是1---N。

2.2 线性表的顺序实现2.2.1 顺序表顺序表是线性表的顺序存储结构,即按顺序存储方式构造的存储结构。

顺序表基本思想:顺序表的一个存储结点存储线性表的一个结点的内容,即数据元素(不含其他信息),所有存储结点按相应数据元素间的逻辑关系决定的次序依次排列。

顺序表的特点:逻辑结构中相邻的结点在存储结构中仍相邻。

顺序表的类C语言描述:p17Const maxsize=顺序表的容量Typedef struct{ datatype date [maxsize]Int last;} sqlist;Sqlist L;L表示线性表的长度,last-1 是终端结点在顺序表中的位置。

常数maxsize为顺序表的容量。

表长st , 终端结点L.data[st-1]2.2.2 基本运算在顺序表上的实现1.插入Void inset_sqlist (sqlist L,datatype x, int i){ if (st == maxsize) error(‘表满’); /*溢出*/If (((i<1)!!(i>st+1)) error (‘非法位置’);For (j=st ; j=I; j--)L.data[j] = L.data [j-1]; /*依次后移*/L.data[i-1 ]= x; /*置入*/st =st+1 /*修改表长*/}2. 删除Void delete_sqlist ( sqlist L, int I ) /*删除顺序表L中第i个位置上的结点*/{If ( ( i<1 ) !! (I >st)) error (‘非法位置’);For ( j= i+1; j= st; j++)L.data [j-2 ] = L.data [j-1 ]; /*依次前移,注意第一个L.data[j-2]存放ai*/st=st-1 /*修改表长*/3.定位Int locate_sqlist (sqlist L , datatype X)/*在顺序表中从前往后查找第一个值等于X的结点。

若找到则回传该结点序号,否则回传0*/ {I=1 ;While ( ( i<= st) && (L.data[i-1]!=x) ) /*注意:ai在L.data[i-1]中*/i++; /*从前往后查找*/if (i<=st) return (i)else return (0)}2.2.3 顺序实现的算法分析插入:平均时间复杂性:=n/2平均时间复杂性量级为O(n)删除:平均时间复杂性:n-1/2平均时间复杂性量级:O(n)定位:平均时间复杂性量级:O(n)求表长,读表元:量级O(1)以上分析得知:顺序表的插入,删除算法的时间性能方面是不理想的。

2.3 线性表的链接实现顺序表的优缺点:优点:1。

无需为表示结点间的逻辑关系而增加额外的存储空间。

2.可以方便地随机存取表中的任一结点。

缺点:1。

插入,删除运算不方便,除表尾位置外,其他位置上进行插入和删除操作都必须移动大量结点,效率较低。

2.由于顺序表要求占用连续的空间,存储分配职能预先进行(静态分配),因此当表长变化较大时,可能造成空间长期闲置或空间不够而溢出。

链表:采用链接方式存储的线性表称为链表一种数据结构的链接实现是指按链式存储方式构建其存储结构,并在此链式存储结构上实现其基本运算。

2.3.1 单链表单链表表示法的基本思想:用指针表示结点间的逻辑关系。

一个存储结点包含两部分:data 部分: 称为数据域,用于存储线性表的一个数据元素。

Next部分:称为指针域或链域,用于存放一个指针,指向本结点所含数据元素的直接后继所在的结点终端结点的指针NULL称为空指针,不指向任何结点,只起标志作用。

Head称为头指针变量,指向单链表的第一个结点的,称为头指针。

头指针具有标识单链表的作用,故常用头指针变量来命名单链表。

单链表的类C语言描述:Typedef struct node *pointer;Struct node{ datatype data;Pointer next;};Typedef pointer lklist;2.3.2 单链表的简单操作为了便于实现各种运算,通常在单链表第一个结点前增设一个类型相同的结点,称为头结点。

相关文档
最新文档