数据结构导论2142复习资料

合集下载

02142数据结构导论2007年1 月份真题及答案

02142数据结构导论2007年1 月份真题及答案

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

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

1.关于栈和队列的说法中正确的是()A.栈和队列都是线性结构B.栈是线性结构,队列不是线性结构C.栈不是线性结构,队列是线性结构D.栈和队列都不是线性结构2.关于存储相同数据元素的说法中正确的是()A.顺序存储比链式存储少占空间B.顺序存储比链式存储多占空间C.顺序存储和链式存储都要求占用整块存储空间D.链式存储比顺序存储难于扩充空间3.从逻辑关系来看,数据元素的直接前驱为0个或1个的数据结构只能是()A.线性结构 B.树形结构C.线性结构和树型结构D.线性结构和图状结构4.已知一个单链表中,指针q指向指针p的前趋结点,若在指针q所指结点和指针p所指结点之间插入指针s所指结点,则需执行()A.q→next=s;p→next=s; B.q→next=s;s→next=p;C.q→next=s;q→next=p;D.q→next=s;s→next=q;5.在长度为n的线性表中删除一个指针p所指结点的时间复杂度是()A.O(n) B.O(1)C.O(log2n)D.O(n2)6.设一个栈的输入序列是a,b,c,d,则所得到的输出序列(输入过程中允许出栈)不可能出现的是()A.a,b,c,d B.a,b,d,cC.d,c,b,aD.c,d,a,b7.关于串的叙述中,正确的是()A.空串是只含有零个字符的串B.空串是只含有空格字符的串C.空串是含有零个字符或含有空格字符的串D.串是含有一个或多个字符的有穷序列8.在具有m 个单元的循环队列中,队头指针为front ,队尾指针为rear ,则队满的条件是( )A .front==rear B.(front+1)%m==rear C.rear+1==frontD.(rear+1)%m==front9.设有二维数组A [n ][n ]表示如下:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡ 653421, 则A [i ][i ](0≤i ≤n-1)的值为( ) A .i*(i-1)/2 B.i*(i+1)/2 C.(i+2)*(i+1)/2D.i 2/210.高度为h 的完全二叉树中,结点数最多为( ) A .2h-1 B.2h+1 C.2h -1D.2h11.由m 棵结点数为n 的树组成的森林,将其转化为一棵二叉树,则该二叉树中根结点的右子树上具有的结点个数是( ) A .mn B.mn-1 C.n(m-1)D.m(n-1)12.在一个具有n 个顶点的无向图中,每个顶点度的最大值为( ) A .n B.n-1 C.n+1D.2(n-1)13.关于无向图的邻接矩阵的说法中正确的是( ) A .矩阵中非全零元素的行数等于图中的顶点数 B.第i 行上与第i 列上非零元素总和等于顶点V i 的度数 C.矩阵中的非零元素个数等于图的边数D.第i 行上非零元素个数和第i 列上非零元素个数一定相等14.设一组记录的关键字key 值为{62,50,14,28,19,35,47,56,83},散列函数为H(key)=key mod 13,则它的开散列表中散列地址为1的链中的结点个数是( ) A .1 B.2 C.3D.415.设有一组初始关键字值序列为(49,81,55,36,44,88),则利用快速排序的方法,以第一个关键字值为基准得到的一次划分为( )A.36,44,49,55,81,88 B.44,36,49,55,81,88C.44,36,49,81,55,88D.44,36,49,55,88,81二、填空题(本大题共13小题,每小题2分,共26分)请在每小题的空格中填上正确答案。

自考02142数据结构导论考前密押120题及答案含解析

自考02142数据结构导论考前密押120题及答案含解析

目录第一章概论 (1)第二章线性表 (7)第三章栈、队列和数组 (13)第四章树和二叉树 (17)第五章图 (22)第六章查找 (28)第七章排序 (33)第一章概论一、单选题1.数据的最小标识单位是()A.数据项B.数据类型C.数据元素D.数据变量2.任意两个结点之间都没有邻接关系,组织形式松散,这种组织形式称为()A.集合B.线性结构C.树形结构D.图结构3.与数据元素本身的形式、内容、相对位置、个数无关的是数据的()A.存储结构B.逻辑结构C.类型D.运算实现4.具有分支、层次特性,上层的结点可以和下层多个结点相邻接,但下层结点只能和上层的一个结点相邻接,这种组织形式称为()A.集合B.线性结构C.树形结构D.图结构5.数据的逻辑结构分为四种,其中结构最复杂的是()A.集合B.线性结构C.树形结构D.图结构6.“能正确地实现预定的功能,满足具体问题的需要”。

这种评价算法好坏的因素称为()A.正确性B.易读性C.健壮性D.时空性7.计算n!(整数n≥0)的递归算法是:int Factorial(int n){if(n==0)return1;else return n*Factorial(n-1);}其时间复杂度为()n)A.O(n)B.O(log2C.O(n c)D.O(n²)8.下面程序段的时间复杂度为()for(int i=0;i<n;i++)for(int j=0;j<n;j++)A[i][j]=i×j;A.O(1)B.O(n)n) D.O(n²)C.O(log29.将长度为n的单链表链接在长度为m的单链表之后的算法时间复杂度为()A.O(n)B.O(m)C.O(n+m)D.O(n×m)二、填空题10.数据结构是指一组相互之间存在一种或多种特定关系的数据的组织方式和它们在计算机内的________方式,以及定义在该组数据上的一组操作。

11.1976年瑞士计算机科学家Niklaus Wirth曾提出一个著名公式:程序=数据结构+________。

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

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

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

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

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

1.下列说法正确的是()A.数据是数据元素的基本单位B.数据元素是数据项中不可分割的最小标识单位C.数据可由若干个数据元素构成D.数据项可由若干个数据元素构成2.数据结构的基本任务是()A.逻辑结构和存储结构的设计B.数据结构的运算实现C.数据结构的评价与选择D.数据结构的设计与实现3.在一个具有n个结点的有序单链表中插入一个新结点,并使插入后仍然有序,则该操作的时间复杂性量级为()A.O(1)B.O(n)C.O(nlog2n)D.O(n2)4.顺序存储的线性表(a1,a2,…,a n),在任一结点前插入一个新结点时所需移动结点的平均次数为()A.n B.n/2C.n+1 D.(n+1)/25.下列树U′,经剪技运算DELETE(U′,x,2)后为()6.一棵有16结点的完全二叉树,对它按层编号,则对编号为7的结点X,它的双亲结点及右孩子结点的编号分别为()A.2,14 B.2,15C.3,14 D.3,157.设有一5阶上三角矩阵A[1..5,1..5],现将其上三角中的元素按列优先顺序存放在一1堆数组B[1..15]中。

已知B[1]的地址为100,每个元素占用2个存储单元,则A[3,4]的地址为()A.116 B.118C.120 D.1228.一个带权的无向连通图的最小生成树()A.有一棵或多棵B.只有一棵C.一定有多棵D.可能不存在9.下列有关图遍历的说法中不正确的是()A.连通图的深度优先搜索是一个递归过程B.图的广度优先搜索中邻接点的寻找具有“先进先出”的特征C.非连通图不能用深度优先搜索法D.图的遍历要求每一顶点仅被访问一次10.在最坏的情况下,查找成功时二叉排序树的平均查找长度()A.小于顺序表的平均查找长度B.大于顺序表的平均查找长度C.与顺序表的平均查找长度相同D.无法与顺序表的平均查找长度比较11.闭散列表中由于散列到同一个地址而引起的“堆积”现象,是由()A.同义词之间发生冲突引起的B.非同义词之间发生冲突引起的C.同义词之间或非同义词之间发生冲突引起的D.散列表“溢出”引起的12.从外存设备的观点看,存取操作的基本单位是()A.逻辑记录B.数据元素C.文件D.物理记录13.对文件进行检索操作时,每次都要从第一个记录开始的文件是()A.顺序文件B.索引文件C.顺序索引文件D.散列文件14.一组记录的键值为(46,74,18,53,14,20,40,38,86,65),利用堆排序的方法建立的初始堆为()A.(14,18,38,46,65,40,20,53,86,74)B.(14,38,18,46,65,20,40,53,86,74)C.(14,18,20,38,40,46,53,65,74,86)D.(14,86,20,38,40,46,53,65,74,18)15.对序列(22,86,19,49,12,30,65,35,18)进行一趟排序后得到的结果如下:(18,12,19,22,49,30,65,35,86),则可以认为使用的排序方法是()A.选择排序B.冒泡排序C.快速排序D.插入排序二、填空题(本大题共13小题,每空2分,共26分)请在每小题的空格中填上正确答案。

2010年5月衔接自考02142数据结构导论复习资料472

2010年5月衔接自考02142数据结构导论复习资料472
试按照最小生成树的生成过程,分步给出加入顶点和边以后的集合U和TE的值
U={A,B,G} TE{(A,B),(A,G)}
U={A,B,G,I} TE{(A,B),(A,G),(G,I)}
U={A,B,G,I,E,} TE{(A,B),(A,G),(G,I),(I,E)}
29.排序算法中,第一趟排序后,任一元素都不能确定其最终位置的算法是 【 】
A.选择排序 B.插入排序
C.冒泡排序 D.快速排序
30.在排序方法中,从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)
的一端的方法,称为 【 】
A.希尔排序 B.归并排序
A.1 B.2
C.3 D.4
14.排序算法中,第一趟排序后,任一元素都不能确定其最终位置的算法是 【 】
A.选择排序 B.快速排序
C.冒泡排序 D.插入排序
15.排序算法中,不稳定的排序是 【 】
A.直接插入排序 B.冒泡排序
C.堆排序 D.归并排序
7.n-1 8.1 9. 10.索引表 11.顺序 12.8
13.O(n2)
U={A,B,G,I,E,D} TE{(A,B),(A,G),(G,I),(I,E),(E,D)}
U={A,B,G,I,E,D,C} TE{(A,B),(A,G),(G,I),(I,E),(E,D),(D,C)}
U={A,B,G,I,E,D,C,H} TE{(A,B),(A,G),(G,I),(I,E),(E,D),(D,C),(C,H )}
25.有4个顶点的无向完全图的边数为 【 】
A.6 B.12
C.16 D.20
26.设图的邻接矩阵为,则该图为 【 】

2023年10月自考02142数据结构导论试题及答案含评分标准

2023年10月自考02142数据结构导论试题及答案含评分标准

绝密 考试结束前2023年10月高等教育自学考试数据结构导论试题课程代码:021421.请考生按规定用笔将所有试题的答案涂㊁写在答题纸上㊂2.答题前,考生务必将自己的考试课程名称㊁姓名㊁准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上㊂选择题部分注意事项:每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑㊂如需改动,用橡皮擦干净后,再选涂其他答案标号㊂不能答在试题卷上㊂一㊁单项选择题:本大题共15小题,每小题2分,共30分㊂在每小题列出的备选项中只有一项是最符合题目要求的,请将其选出㊂1.时间复杂度的常数阶表示为A.O(1)B.O(n)C.O(n2)D.O(2n)2.下列关于单链表的描述,错误∙∙的是A.所有结点通过指针链接形成链表B.头指针变量不一定非要用h e a d来标识C.尾结点指针域的值N U L L称为空指针D.通常用尾指针来表示一个单链表3.线性表实现顺序存储可使用A.栈B.队列C.数组D.链表4.设单链表中指针p指向结点A,要删除A之后的结点(若存在),则修改指针的操作为A.p n e x t=p n e x t n e x tB.p=p n e x tC.p=p n e x t n e x tD.p n e x t=p5.出队列操作使用的赋值语句是A.S Q.r e a r=S Q.r e a r+1B.S Q.r e a r=S Q.r e a r-1C.S Q.f r o n t=S Q.f r o n t+1D.S Q.f r o n t=S Q.f r o n t-16.在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以t o p为栈顶指针,当栈未满时进行进栈操作,此时A.t o p不变B.t o p--C.t o p++D.t o p=07.带头结点链队列的头指针和尾指针分别为f r o n t和r e a r,则判断队列空的条件为A.f r o n t==r e a rB.f r o n t!=N U L LC.r e a r!=N U L LD.f r o n t==N U L L8.深度为k(kȡ1)的二叉树的结点数最多为A.2k-1B.2k-1C.2k+1D.2k+19.下列关于树形结构的描述,正确的是A.树形结构是线性结构B.树中每个结点可以有多个直接前驱结点C.树可以用顺序存储D.树中每个结点只能有一个直接后继结点10.对任何一棵二叉树,若度数为0的结点(叶结点)个数为n0,度数为2的结点个数为n2,则n0等于A.0B.n2-1C.n2 D.n2+111.设有10个顶点的无向图,若它为连通图,则它具有的边数最少为A.9B.10C.11D.1212.设含有n个顶点,e条弧的有向图G采用邻接表存储,则拓扑排序算法的时间复杂度为A.O(n)B.O(n+e)C.O(n2)D.O(nˑe)13.当查找表中有n个数据元素时,假设P i(i=1,2, ,n)为查找第i个元素的概率,在P i等概率的条件下,顺序查找算法的平均查找长度为A.n/2B.(n+1)/2C.nD.n+114.二维数组A以行为主序存储,每个元素占1个存储单元㊂若元素A[1][1]的存储地址是420,A[3][3]的存储地址是446,则A[5][5]的存储地址是A.470B.471C.472D.47315.冒泡排序属于A.插入排序B.归并排序C.选择排序D.交换排序非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上㊂二㊁填空题:本大题共13小题,每小题2分,共26分㊂16.在数据库中数据项又称为字段或 һ ㊂17.在单链表存储结构中,线性表的表长等于单链表中 һ 的结点个数㊂18.二叉树的顺序存储结构可以用 һ 维数组来实现㊂19.在操作系统中,为了保持多个进程P1㊁P2㊁P3和P4按某种次序依次执行,需要一个 һ来实现这个过程㊂20.对称矩阵有近一半元素可以通过其对称元素获得,因此可将含有n2个元素的对称矩阵压缩存储到含有 һ 个元素的一维数组中㊂21.设有一个带头结点的链栈,其头指针为h e a d,现有一个新结点入栈,指向该结点的指针为p,则入栈操作为 һ 和h e a d n e x t=p㊂22.满二叉树一定是 һ 二叉树㊂23.在树形结构中,结点间具有 һ 关系㊂24.在图中,序列中顶点不重复出现的路径称为 һ 路径㊂25.D i j k s t r a算法用于求 һ 问题㊂26.求最小生成树有 һ 方法和K r u s k a l方法㊂27.若在查找过程中,向表中插入不存在的数据元素,或者从表中删除某个数据元素,则称此类表为 һ 查找表㊂28.在二分查找㊁索引顺序查找和散列查找三种查找方法中,平均查找长度与元素个数没有关系的查找方法是 һ ㊂三㊁应用题:本大题共5小题,每小题6分,共30分㊂29.设有一个链栈的输入序列为A㊁B㊁C,当输出序列分别为A B C和B C A时,请写出对应的进栈和出栈过程㊂30.设有一森林F如题30图所示,请分别写出先序遍历和中序遍历的序列㊂题30图31.如题31图所示长度为13的散列表,其散列函数为H(k e y)=k e y m o d13,在表中已填入键值分别为16,30,54的元素㊂(1)现要插入键值为29的元素,应用线性探测法,计算填入散列表中单元的序号㊂(要求给出求解过程)(2)线性探测法中,如何减少堆积的机会?0123456789101112541630题图32.如题32图所示的图结构,请写出以10为源点的广度优先搜索得到的顶点访问序列,并画出搜索过程图㊂(同等情况下,值小的结点优先访问)题32图33.给定有序表D={006,087,155,188,220,465,505,508,511,586,656,670,700,766},用二分查找法在D中查找511,试给出查找过程㊂四㊁算法设计题:本大题共2小题,每小题7分,共14分㊂34.编制函数求1+2+ +n㊂35.已知循环队列的结构类型如下:t y p e d e f s t r u c t c y c q u e u e{D a t a T y p e d a t a m a x s i z ei n t f r o n t r e a r}C y c Q u eC y c Q u e C Q设计入队列的算法㊂绝密 启用前2023年10月高等教育自学考试全国统一命题考试数据结构导论试题答案及评分参考(课程代码 02142)一㊁单项选择题:本大题共15小题,每小题2分,共30分㊂1.A2.D3.C4.A5.C6.C7.B8.B9.C10.D11.A 12.B 13.B 14.C 15.D 二㊁填空题:本大题共13小题,每小题2分,共26分㊂16.域17.数据元素18.一19.队列20.n (n +1)/221.pn e x t =h e adn e x t22.完全23.层次24.简单25.单源最短路径26.P r i m27.动态28.散列查找三㊁应用题:本大题共5小题,每小题6分,共30分㊂29.输出A B C :A 进,A 出,B 进,B 出,C 进,C 出;(3分)输出B C A :A 进,B 进,B 出,C 进,C 出,A 出㊂(3分)30.先序序列为A B C D E F G H J I ;(3分)中序序列为B C D A F E J H I G ㊂(3分)31.(1)散列函数求出其散列地址为3,在地址3上面已有元素16,发生冲突㊂(1分)应用线性探测法,得到下一个地址为d +1=4,仍冲突,(1分)则再求下一个地址d +2=5,这个位置上没有元素,将元素填入散列表中序号为5的单元㊂(2分)(2)应设法使后继散列地址尽量均匀地分散在整个散列表中㊂(2分)32.序列:10,20,30,50,40,60(3分)答32图(3分)33.01(1)006 02087 03155 04188 05220 06465 07505 08508 09511 10586 11656 12670 13700 14766ʏl o wʏm i dʏh i gh (2分)(2)006 087 155 188 220 465 505 508 511 586 656 670 700 766ʏʏʏl o w m i d h i gh (2分)(3)006 087 155 188 220 465 505 508 511 586 656 670 700 766ʏʏʏl o w m i d h i gh (2分)四㊁算法设计题:本大题共2小题,每小题7分,共14分㊂34.i n t f a c t 1(i n t n ){ i n t i ,j ,t e m p ,s ; s =0;(2分) f o r (i =1;i <=n ;i ++) {t e m p =1;(3分)f o r (j =1;j <=i ;j ++) t e m p =t e m p *j; s =s +t e m p ;}r e t u r n s ;}(2分)(注:答案不唯一,正确即可)35.i n tE n Q u e u e (C y c Q u eC Q ,D a t a T y pex ){i f ((C Q.r e a r +1)%m a x s i z e ==C Q.f r o n t ) {e r r o r ( 队列满 );r e t u r n0;}(3分)e l s e { C Q.r e a r=(C Q.r e a r +1)%m a x s i z e ; C Q.d a t a [C Q.r e a r ]=x ;(3分)r e t u r n 1; }分)。

浙江省2001年10月自学考试数据结构导论试题及答案

浙江省2001年10月自学考试数据结构导论试题及答案

浙江省2001年10月自学考试数据结构导论试题课程代码:02142一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将其号码填在题干的括号内。

每小题1分,共14分)1.算法分析的目的是( )A.找出数据结构的合理性B.研究算法中的输入/输出关系C.分析算法的效率以求改进D.分析算法的易读性2.在需要经常查找结点的前驱与后继的场合中,使用( )比较合适。

A.单链表B.双链表C.顺序表D.循环链表3.下面关于线性表的叙述中,错误的为( )A.顺序表使用一维数组实现的线性表B.顺序表必须占用一片连续的存储单元C.顺序表的空间利用率高于链表D.在链表中,每个结点只有一个链域4.带头结点的单链表head为空的判断条件是( )A. head=NILB. head↑.next=NILC. head↑.next=headD. head< >NIL5.队列通常采用两种存储结构是( )A.顺序存储结构和链表存储结构B.散列方式和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构6.按照二叉树的定义,具有3个结点的二叉树有( )A.3B.4C.5D.67.二叉树的结构如下图所示,其中序遍历的序列为( )A.a,b,d,g,c,e,f,hB.d,g,b,a,e,c,h,fC.g,d,b,e,h,f,c,aD.a,b,c,d,e,f,g,h8.深度为5的二叉树至多有( )个结点。

A.16B.32C.31D.109.对于一个具有n个顶点的无向图,若采用邻接表表示,则存放表头结点的数组的大小为( )A.nB.n+1C.n-1D.n+边数10.在一个具有n个顶点的无向图中,要连通全部顶点至少需要( )条边。

A.nB.n+1C.n-1D.n/211.静态查找表与动态查找表二者的根本差别在于( )A.它们的逻辑结构不一样B.施加在其上的操作不同C.所包含的数据元素的类型不一样D.存储实现不一样12.散列文件使用散列函数将记录的关键字值计算转化为记录的存放地址。

全国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.每个树至少有一个根结点与一个叶结点。

自学考试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月全国自考数据结构导论试题及答案解析

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

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

1.数据的四种基本逻辑结构是指( )A.数组、链表、树、图形结构B.线性表、链表、栈队列、数组广义表C.线性结构、链表、树、图形结构D.集合、线性结构、树、图形结构2.数据结构中,通常采用两种方法衡量算法的时间复杂性,即( )A.最大时间复杂性和最小时间复杂性B.最好时间复杂性和最坏时间复杂性C.部分时间复杂性和总体时间复杂性D.平均时间复杂性和最坏时间复杂性3.下列关于线性表的叙述中,不正确的是( )A.线性表是n个结点的有穷序列B.线性表可以为空表C.线性表的每一个结点有且仅有一个前趋和一个后继D.线性表结点间的逻辑关系是1:1的联系4.在一个单链表中,若p所指结点不是最后结点,则删除p所指结点的后继结点的正确操作是( )A.p=p->nextB.p->next=p->nextC.p->next=p->next->nextD.p->next=p5.栈和队列( )A.共同之处在于二者都是先进先出的特殊的线性表B.共同之处在于二者都是先进后出的特殊的线性表C.共同之处在于二者都只允许在顶端执行删除操作D.没有共同之处6.二维数组A[5][6]采用按列为主序的存储方式,每个元素占3个存储单元,若A[0][0]的存储地址是100,则A[4][3]的存储地址是( )A.127B.142C.150D.1577.深度为k的二叉树至多有( )A.2k个结点B.2k-1个结点C.2k-1个结点D.2k-1-1个结点8.对于如图所示二叉树采用中根遍历,正确的遍历序列应为( )A.ABCDEFB.ABECDFC.CDFBEAD.CBDAEF129.下面关于生成树的描述中,不正确的是( )A.生成树是树的一种表现形式B.生成树一定是连通的C.生成树一定不含有环D.若生成树顶点个数为n ,则其边数一定为n-110.图的邻接表如下所示,从顶点V 1出发采用深度优先搜索法遍历该图,则可能的顶点序列 是()A.V 1V 2V 3V 4V 5B.V 1V 2V 3V 5V 4C.V 1V 4V 3V 5V 2D.V 1V 3V 4V 5V 211.下列查找方法中,不属于动态的查找方法是( )A.二叉排序树法B.平衡树法C.散列法D.斐波那契查找法12.要解决散列引起的冲突问题,常采用的方法有( )A.数字分析法、平方取中法B.数字分析法、线性探测法C.二次探测法、平方取中法D.二次探测法、链地址法13.用于外存储器的数据组织结构散列文件,主要适用于( )A.顺序存取B.随机存取C.索引存取D.以上三种都可以14.堆排序属于一种选择排序,其时间复杂性为( )A.O(1)B.O(nlog 2n)C.O(n)D.O(n 2)15.下列排序方法中,属于不稳定的排序方法是( )A.直接插入排序法B.冒泡排序法C.基数排序法D.归并排序法二、填空题(本大题共13小题,每小题2分,共26分)请在每小题的空格中填上正确答案。

自考02142《数据结构导论》真题(2022.10)

自考02142《数据结构导论》真题(2022.10)

自考02142《数据结构导论》真题及(2022.10)自考02142《数据结构导论》真题及答案解析(2022.10)1.[单选题] 设输入序列为ABC,输出为ABC,则经过的栈操作为()。

A.push,pop,push,push,pop,popB.push,push,pop,pop,push,popC.push,push,push,pop,pop,popD.push,pop,push,pop,push,pop2.[单选题] 设有一循环队列CQ,队列的长度为maxsize,则该循环队列满的条件为()。

A.(CQ.rear+1)%maxsize==CQ.frontB.CQ.rear==CQ.frontC.(CQ.rear+1)%maxsize==CQ.rearD.CQ.rear==NULL3.[单选题] 树的相关术语中,兄弟指()。

A.祖先相同的结点B.根相同的结点C.度数相同的结点D.父结点相同的结点4.[单选题] 执行进栈操作,在元素X进栈前需要进行的操作是()。

A.判断栈是否满,若栈未满,top值加1B.判断栈是否空,若栈未空,top值加1C.判断栈是否满,若栈未满,top值减1D.判断栈是否空,若栈未空,top值减15.[单选题] 森林有两种遍历方法,分别是()。

A.先序遍历森林和中序遍历森林B.先序遍历森林和后序遍历森林C.中序遍历森林和层次遍历森林D.后序遍历森林和层次遍历森林6.[单选题] 有向图中某顶点v的入度为2,出度为3,则该顶点的度为()。

A.3B.4C.5D.67.[单选题] 无向图的邻接矩阵为()。

A.对角矩阵B.对称矩阵C.稀疏矩阵D.一般矩阵8.[单选题] 对升序表进行二分查找,用给定值key与处在中间位置的数据元素T.elem[mid]的键值T.elem[mid].key进行比较,当key 32.[问答题] 给定数据序列{46,25,78,62,12,80},试按元素在序列中的次序将它们依次插入一棵初始为空的二叉排序树,画出插入完成后的二叉排序树。

自考02142《数据结构导论》真题及(2022.10)

自考02142《数据结构导论》真题及(2022.10)

自考02142《数据结构导论》真题及(2022.10)自考02142《数据结构导论》真题解析(2022.10)1.[单选题] 线性表若采用链表存储结构,内存中可用存储单位的地址A.必须是连续的B.有一部分必须是连续的C.一定是不连续的D.连续不连续都可以2.[单选题] 设有一个二维数组a[m][n],假设a[0][0]存放位置为644,a[2][2]存放位置为676,每个元素占一个存储空间,则a[3][3]存放位置为A.678B.688C.692D.6963.[单选题] 先序遍历与中序遍历结果相同的二叉树A.根结点无左孩子B.根结点无右孩子C.所有结点只有左子树D.所有结点只有右子树4.[单选题] 有n个叶结点的哈夫曼树的结点总数为A.2n-1B.2nC.2n+1D.2n25.[单选题] 设一棵完全二叉树中有65个结点,则该完全二叉树的深度为A.5B.6C.7D.86.[单选题] 设指针变量front表示链队列的队头指针,指针变量rear 表示链队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为A.front-next= s;front=s;B.s-next= rear;rear=s;C.rear-next=s;rear=s;D.s-next= front;front=s;7.[单选题] 一个栈的输入序列为1 2 3 4,则下列序列中可能是栈的输出序列的是A.2 3 1 4B.4 1 2 3C.3 1 2 4D.3 4 1 28.[单选题] 具有先进先出特征的数据结构是A.堆栈B.队列C.最小堆D.完全二叉树9.[单选题] 不属于数据组织三个层次的是A.数据B.数据元素C.数据类型D.数据项10.[单选题] 程序段s=i=0;do {i=i+1;s=s+i;}while(i= n)的时间复杂度为A.O(n)B.O(nlog2n)C.O(n2)D.O(1)11.[单选题] 对题13图中的树进行遍历后可以得到序列ABCD的遍历方式是A.先序遍历B.中序遍历C.后序遍历D.层次遍历12.[单选题] 对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若散列函数为H(K)=K%9,则散列地址为1的元素个数是A.1B.2C.3D.413.[单选题] 一个具有n个顶点的无向完全图的边数为A.0B.n(n-1)/2C.n(n-1)D.n(n+1)14.[单选题] 就平均时间性能而言,若需以O(nlog2n)的时间复杂度完成对数组的排序,则可选择的排序方法是A.快速排序B.冒泡排序C.直接选择排序D.直接插入排序15.[单选题] 设有序表中的元素为(13,18,24,35,47,50,62),则在其中利用二分法查找值为24的元素需要经过比较的次数是A.1B.2C.3D.416.[案例题] 根据图的定义,图中顶点的最少数目是______。

《数据结构导论》

《数据结构导论》

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数据结构导论2016年10月份真题与答案

02142数据结构导论2016年10月份真题与答案

2016年10月高等教育自学考试全国统一命题考试数据结构导论试卷<课程代码02142>本试卷共4页,满分l00分,考试时间l50分钟。

考生答题注意事项:1.本卷所有试题必须在答题卡上作答。

答在试卷上无效,试卷空白处和背面均可作草稿纸。

2.第一部分为选择题。

必须对应试卷上的题号使用2B铅笔将"答题卡"的相应代码涂黑。

3.第二部分为非选择题。

必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。

4.合理安排答题空间。

超出答题区域无效。

第一部分选择题<共30分>一、单项选择题<本大题共10小题,每小题2分,共30分>在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将"答题卡"的相应代码涂黑。

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

1.已知问题规模为n,则下列程序片段的时间复杂度是C2.若用计算机来模拟银行客户排队等待办理业务的情形,则所应该采用的数据结构是A.栈 B.队列 C.树 D.图3.若线性表采用链式存储结构,则适用的查找方法为A.随机查找 B.散列查找 C.二分查找 D.顺序查找4.已知指针P和q分别指向某单链表中第一个结点和最后一个结点,假设指针s指向另一个单链表中某个结点,则在S所指结点之后插入上述单链表应执行的语句为A.q→next;s→next;s→next2P; B.s→next=P;q→next=s→next;C.p→next=s→next;s→next=q; D.s→next2q;p→next2s→next;5.栈的运算特点是先进后出,元素a、b、c、d依次入栈,则不能得到的出栈序列是A.abed B.dcba C.cabd D.bcda6.在实现队列的链表结构中,其时间复杂度最优的是A.仅设置头指针的单循环链表 B.仅设置尾指针的单循环链表C.仅设置头指针的双向链表 D.仅设置尾指针的双向链表7.任意一棵二叉树的前序和后序遍历的结果序列中,各叶子结点之间的相对次序关系是A.不一定相同B. 都相同 C.都不相同 D.互为逆序8.若某棵树的存储结构采用双亲表示法,如题8图所示,则该树的高度是A.2 B.3 C.4 D.59.无向图的邻接矩阵一定是A.对称矩阵 B.对角矩阵 C.稀疏矩阵 D.三角矩阵10.根据连通图的深度优先搜索的基本思想,如题10图所示的连通图的一个深度优先搜索的结果序列是A.123456 B.123465 C. 126345 D.16254311.用顺序查找方法对含有n个数据元素的顺序表按从后向前查找次序进行查找,现假设查找其中每个数据元素的概率不相等,那么A.该顺序表按查找概率由低到高的顺序来存储数据元素,其ASL最小B.该顺序表按查找概率由高到低的顺序来存储数据元素,其ASL最小C.ASL的大小与数据元素在该顺序表中的位置次序无关D.ASL的大小与查找每个数据元素的概率无关12.已知散列表的存储空间为T[0,…,l6],散列函数为H<k>----k mod l7,用二次探测法解决冲突。

全国高等教育自学考试2011年10月《数据结构导论》试题及答案

全国高等教育自学考试2011年10月《数据结构导论》试题及答案

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

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

1.设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5和e6依次通过栈S,元素退栈后即进入队列Q,若6个元素的出队序列是e2,e4,e3,e6,e5,e1,则栈S的容量至少为(B) A.2B.3C.4D.62.设计一个判别表达式中左右括号是否配对出现的算法,采用的最佳数据结构为(D) A.线性表的顺序存储结构B.队列C.线性表的链式存储结构D.栈3.下列程序段的时间复杂度为(A)i=0;s=0;while(s<n){i++;s=s+i;}A.O B.O(log2n)C.O(n)D.O(n2)4.设A是n×n的对称矩阵,将A的对角线及对角线上方的元素Aij(1≤i,j≤n,i≤j)以列优先顺序存放在一维数组元素B[1]至B[n(n+1)/2]中,则元素Aij(i≤j)在B中的位置为(B) A.i(i-l)/2+j B.j(j-l)/2+i C.j(j-l)/2+i-1D.i(i-l)/2+j-15.在有向图G的拓扑序列中,若顶点Vi在顶点Vj之前,则下列情形不可能出现的是(D) A.G中有弧<Vi,Vj>B.G中有一条从Vi到Vj的路径C.G中没有弧<Vi,Vj>D.G中有一条从Vj到Vi的路径6.下列序列中,由第一趟快速排序可得到的序列(排序的关键字类型是字符串)是(A) A.[da,ax,eb,de,bb]ff[ha,gc]B.[cd,eb,ax,da]ff[ha,gc,bb]C.[gc,ax,eb,cd,bb]ff[da,ha]D.[ax,bb,cd,da]ff[eb,gc,ha]7.不稳定的排序方法是(C)A.直接插入排序B.冒泡排序C.堆排序D.二路归并排序8.设散列表表长m=14,散列函数为h(k)=k%11,表中已有4个记录,如果用二次探测法处理冲突,关键字为49的记录的存储位置是(D)01234567891011121315386184A.3B.5C.8D.99.若元素1,2,3依次进栈,则退栈不可能出现的次序是(C)A.3,2,1B.2,1,3C.3,1,2D.1,3,210.直接插入排序的时间复杂度是(A)A.O(n2)B.O(nlog2n)C.O(n)D.O(log2n)11.稀疏矩阵是指(C)A.元素少的矩阵B.有少量零元素的矩阵C.有少量非零元素的矩阵D.行数、列数很少的矩阵12.深度为k(k≥1)的二叉树,结点数最多有(B)A.2k B.2k-1C.2k-1D.2k-1-113.由带权为9,2,5,7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为(C) A.23B.37C.44D.4614.有n个顶点的有向完全图的弧数为(C)A.n2B.2n C.n(n-1)D.2n(n+1)15.图的深度优先搜索类似于二叉树的(A)A.先根遍历B.中根遍历C.后根遍历D.层次遍历二、填空题(本大题共13小题,每小题2分,共26分)请在每小题的空格中填上正确答案。

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

第一章概论1,数据表示:将数据从机外表示转化为机内表示。

变化过程:机外表示->逻辑结构->存储结构。

2,数据处理:计算机执行对机内表示的数据的各种操作从而实现处理要求,得到所需结果。

过程:处理要求->基本运算和运算->算法3,计算机专业人员的两项基本任务:数据表示和数据处理。

4,从数据结构观点看,通常的数据分为三个层次:数据、数据元素、数据项。

5,凡能被计算机存储、加工的对象通称为数据。

6,数据元素是数据的基本单位,具有完整确定的实际意义,又称为元素,结点,顶点或记录。

7,数据项是数据的不可分割的最小单位,不具备完整确定的实际意义,又称字段、域。

数据元素由数据项组成。

8,逻辑关系是指数据元素之间的关联方式或称邻接关系9,数据元素之间逻辑关系的整体称为逻辑结构。

数据的逻辑结构就是数据的组织形式。

10,数据逻辑结构四种基本形式:集合、线性结构、树形结构、图状结构。

11,集合:任何两个结点之间都没有逻辑关系,组织形式松散。

12,线性结构:结点按逻辑关系依次排列成一条锁链。

13,树形结构:具有分支、层次特点,其形态类似自然界中的树。

14,图状结构:各个结点按逻辑关系相互缠绕,任何两个结点都可以邻接。

15逻辑结构与数据元素本身形式、内容无关。

逻辑结构与数据元素相对位置无关。

逻辑结构与结点个数无关。

16,在数据的逻辑结构上规定的某种操作称为运算。

运算是指在任何逻辑结构上施加的操作,即对逻辑结构的加工。

这种加工以一个或多个逻辑结构及其他有关参数为对象,以经过修改的逻辑结构或从原逻辑结构中提取的有关信息为结果。

17,运算两种基本类型:加工型运算和引用型运算。

查找:找出满足某条件的结点在逻辑结构中的位置。

读取:读出某逻辑结构中指定位置的结点的内容。

插入:在某逻辑结构中指定位置增加一个新结点。

删除:撤销某逻辑结构中指定位置的结点。

更新:修改某逻辑结构中指定位置的结点内容。

18,数据结构中将数据的组织形式(逻辑结构)和对数据的操作方式(基本运算)作为一个整体来看待。

19,存储实现的目的是建立数据的机内表示。

建立的数据的机内表示称为数据的存储结构。

20,一个存储结构分为三个部分:存储节点,数据元素之间的关联方式,附加设施。

21,四种基本存储结构:顺序存储结构,链式存储结构,索引存储结构,散列存储结构。

(理解四种形式)22,算法是计算机科学的一个基本概念,也是程序设计的一个核心概念。

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

23,任何算法都是用某种语言加以描述的。

三类:程序(计算机语言描述算法),伪语言算法,非形式算法。

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

25,评价算法的4个方面:正确性,易读性,健壮性,高效性。

高效性是指算法的时间性能和空间性能。

26,算法在给定输入下的计算量:a,根据问题特点合理选择一种多多种“标准操作”。

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

27,以算法在所有输入下的计算量的最大值作为算法的计算量,称为算法的最坏情况的时间复杂度28,以算法在所有输入下的计算量的加权平均值作为算法的计算量,称为算法的平均时间复杂度29,算法的输入规模或问题的规模是指该算法输入的数据所含数据元素的数目或与此数目相关的其他参数。

30,常见的时间复杂度量级:常数阶O(1),对数阶O(log2n),线性阶O(n),平方阶O(n2),指数阶O(2n)。

通常认为具有指数阶量级的算法是实际不可计算的,低于平方阶的算法是高效的。

31,空间复杂度是除输入数据所占用存储空间之外所需要的附加的存储空间的大小。

第二章线性表1,线性结构是n个结点的有穷序列。

(a1,a2,a3…..an)。

注意:起始结点,终端结点,直接前趋,直接后继2,线性结构的节本特征:若至少含有一个结点,则除起始结点没有直接前趋外其他结点都有唯一一个直接前驱,除终端结点没有直接后继外其他每个结点都有唯一一个直接后继。

3,线性表的逻辑结构是线性结构。

表中所含结点个数为线性表的长度,若表长为0则称空表4,线性表的基本操作:Initate(L)初始化线性表L,Length(L)求线性表L长度,Get(L,i)读取线性表L中的第i个数据元素,Locate(L,x)在线性表L中查找值为x的数据元素的位置,Insert(L,x,i)将值为x的数据插入到线性表L的第i位置,Delete(L,i)从线性表L中删除第i个数据元素5,顺序表:是线性表的顺序存储结构,即按照顺序存储方式构造的线性表的存储结构,顺序表的一个存储结点存储线性表的一个数据元素,所有存储结点按相应数据元素间的逻辑关系决定的次序依次排列。

6,顺序表的类型定义:Const maxsize=顺序表容量//maxsize表示线性表中可容纳数据的个数Typedef struct{ datatype data[ maxsize ]; //data是数组,线性表的第1,2,3,…n个数据元素存入data[0], data[1],data[2]…. data[n-1]中Int last ; //last表示线性表的长度,maxsize表示} sqList;sqList L;顺序表是用一维数组实现的线性表,数组下标是元素的相对地址,逻辑上相邻的元素存储在物理位置也相邻的单元中7,顺序表的插入算法Void inset(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;}8,顺序表的删除算法Void Delete(sqlist L,int i ){ if (i<1 || i>st +1 )error (“位置非法”);for ( j = i+1; j<= st; j-- )L.data[j-2]=L.data[j-1]st =st -1;}9,顺序表的定位算法Int Locate (qslist L,datatype x){ i=1;While (i<=st && L.data[i-1] != x)i++;If ( i<=st ) return I;Else return 0;}在以上3个算法基础上能设计出简单顺序表相关算法10,顺序表插入算法平均移动次数:n/2,时间复杂度O(n)顺序表删除算法平均移动次数:n-1/2,时间复杂度O(n)顺序表定位,读表元,求表长算法复杂度O(1)11,顺序表的优点:无需为表结点逻辑关系而增加额外的存储空间;可以方便的随机存取表中任一结点;顺序表的缺点:插入和删除操作除表尾位置外要做大量移动效率较低,要求占用连续内存空间12,单链表的基本思想是用指针表示结点之间的逻辑关系。

节点分为两部分:data和nextData部分称为数据域,next部分称为指针域或链域。

所有节点通过指针的链接而组织成为单链表。

NULL表示空指针,head称为头指针变量指向单链表中的第一个结点。

13,链表结点类型定义:Typedef struct node * pointer ;Struct node{ datatype data;Point next;};Typedef pointer lklist;Pointer是指向struct node 类型的指针类型,struct node 是结构体类型,即结点类型指针的概念是链式存储结构的核心。

14,通常在单链表的第一个数据结点之前增设一个与结点类型相同但不存数据的结点称为头结点,其他为表结点,表中第一个和最后一个称为首节点和尾结点。

带头单链表的图示形式:15,单链表求表长算法Int length(lklist head){ p=head;j=0;While(p->next!=NULL){ p=p->next ; j++; }Return j;}16,单链表定位算法Int Locate (lklist head ,datatype x){ p=head;j=0;While(p->next !=NULL && p->data !=x){ p=p->next ; j++; }If ( p->data = = x) return j; Else return 0;}17,单链表的删除算法void delete (lklist head, int i){ p=head; j=0;While (p->next !=NULL && j<i-1){ p=p->next ; j++; }if ( p!=NULL && p->next!=NULL ){ q=p->next; p->next=q->next; free(q); }else error(”不存在第i个结点”);}18,单链表插入算法void insert (lklist head, datatype x,int i){ p=head; j=0;While (p->next !=NULL && j<i-1){ p=p->next ; j++; }if (p!=NULL ) { s=()malloc(); s->data=x; s->next=p->next; p->next=s; }else error(“不存在第i个位置”);}在以上4个算法基础上能设计出简单单链表相关算法19,循环链表的主要优点是从链表中任何一结点出发能通过后移操作而扫描整个循环链表。

图示:循环链表判空:若head->next = = head 则循环链表空。

20,双向链表:双向链表插入(在p所指结点后插入q所指结点):q->prior=p; q->next= p->next; p->next->prior=q; p->next =q;双向链表删除(删除p所指结点):p->prior->next=p->next; p->next->prior=p->prior;21,存储结点中数据域占用的存储量与整个存储结点中用存储量之比称为存储密度。

相关文档
最新文档