自考数据结构导论复习资料
自考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(log
2
C.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(log
2
9.将长度为n的单链表链接在长度为m的单链表之后的算法时间复杂度为()
自考02142《数据结构导论》串讲笔记
第一张概论
1.1 引言
两项基本任务:数据表示,数据处理
软件系统生存期:软件计划,需求分析,软件设计,软件编码,软件测试,软件维护
由一种逻辑结构和一组基本运算构成的整体是实际问题的一种数学模型,这种数学模型的建立,选择和实现是数据结构的核心问题。
机外表示------逻辑结构------存储结构
处理要求-----基本运算和运算-------算法
1.2.1 数据,逻辑结构和运算
数据:凡是能够被计算机存储,加工的对象通称为数据
数据元素:是数据的基本单位,在程序中作为一个整体加以考虑和处理。又称元素、顶点、结点、记录。
数据项:数据项组成数据元素,但通常不具有完整确定的实际意义,或不被当作一个整体对待。又称字段或域,是数据不可分割的最小标示单位。
1.2.2 数据的逻辑结构
逻辑关系:是指数据元素之间的关联方式,又称“邻接关系”
逻辑结构:数据元素之间逻辑关系的整体称为逻辑结构。即数据的组织形式。
四种基本逻辑结构:
1 集合:任何两个结点间没有逻辑关系,组织形式松散
2 线性结构:结点按逻辑关系依次排列成一条“锁链”
3 树形结构:具有分支,层次特性,形态像自然界中的树
4. 图状结构:各个结点按逻辑关系互相缠绕,任何两个结点都可以邻接。
注意点:
1.逻辑结构与数据元素本身的形式,内容无关。
2.逻辑结构与数据元素的相对位置无关
3.逻辑结构与所含结点个数无关。
运算:运算是指在任何逻辑结构上施加的操作,即对逻辑结构的加工。
加工型运算:改变了原逻辑结构的“值”,如结点个数,结点内容等。
引用型运算:不改变原逻辑结构个数和值,只从中提取某些信息作为运算的结果。
数据结构导论自考题-1_真题-无答案
数据结构导论自考题-1
(总分100,考试时间90分钟)
一、单项选择题
在每小题列出的四个备选项中只有一个是符合题目要求的。
1. 算法的便于阅读和理解的特性称为( )
A.正确性 B.易读性
C.健壮性 D.时空性
2. 给定有n个元素,建立一个有序单链表的时间复杂度为( )
A.O(1) B.O(n)
C.O(n2) D.O(nlog2n)
3. 在双链表中某结点(已知其地址)前插入一新结点,其时间复杂度为( )
A.O(n) B.O(1)
C.O(n2) D.O(log2n)
4. 顺序栈s中top为栈顶指针,指向栈顶元素所在的位置,elem为存放栈的数组,则元素e 进栈操作的主要语句为( )
A.s.elem[top]=e;
s.top=s.top+1;
B.s.elem[top+1]=e;
s.top=s.top+1;
C.s.top=s.top+1;
s.elem[top+1]=e;
D.s.top=s.top+1;
s.elem[top]=e;
5. 一个数组的第一个元素的存储地址是100,每个元素占2个存储单元,则第5个元素的存储地址是( )
A.110 B.108
C.100 D.120
6. 已知某完全二叉树采用顺序存储结构,结点数据的存放顺序依次为A、B、C、D、E、F、
G、H,该完全二叉树的后序遍历序列为( )
A.HDBEFCGA B.HDEBFGCA
C.DHEBFGACA D.DEHBFGCA
7. 除根结点外,树上每个结点( )
A.可有任意多个孩子、一个双亲 B.可有任意多个孩子、任意多个双亲
C.可有一个孩子、任意多个双亲 D.只有一个孩子、一个双亲
自考数据结构讲义(自考乐园版)
数据结构自学考试同步辅导(自考乐园版)
----------------------------------------------------主讲:欧增桂
第一章概论—考点精析
一,基本概念和术语
1. 用计算机解决问题的实质是对数据的加工,处理.
2. 数据是信息的载体,它能够被计算机识别,存储和加工处理.
3.数据元素是数据的基本单位.有时一个数据元素包括若干个数据项.
第一章概论—考点精析
4. 编程序使计算机对机内表示的数据进行操作,得到所需的结果,这项工作称为数据处理.
5. 数据结构指的是数据之间的逻辑关系,也称为数据的逻辑结构.包括线性结构和非线性结构两大类.
6. 数据元素及其关系在计算机存储器内的表示,称为数据的存储结构.
第一章概论—考点精析
(1)存储实现
存储实现的基本目标是建立数据的机内表示
存储结构主要内容:使用一个存储结点来存储一个数据元素;建立各存储结点之间的关联来表示数据元素之间的逻辑关系.
存储结点:一个数据元素在存储结构中的存储
第一章概论—考点精析
(2)结点之间有如下四种存储方式:
顺序存储方式:每个存储结点只含一个数据元素.所有的存储结点相继存储在一个连续的存储区内,用存储结点间的位置关系表示数据之间的逻辑关系.—随机存取
链接存储方式:每一个存储结点不仅含一个数据元素,还包括指针.每一个指针指向一个与本结点有逻辑关系的结点,即用指针表示逻辑关系.—顺序存取
第一章概论—考点精析
索引存储方式:每一个存储结点仅含一个数据元素,所有存储结点都连续存放,仅增加一个索引表.通过关键字直接存取
《数据结构导论》复习题
数据结构导论模拟试题
一、考试题型及分值分布:
1、单项选择题(本大题共15小题,每小题2分,共30分)
2、填空题(本大题共13小题,每小题2分,共26分)
3、应用题(本大题共5小题,每小题6分,共30分)
4、算法设计题(本大题共2小题,每小题7分,共14分)
二、单项选择题和填空题样题参考
(一)单项选择题
1. 在二维数组中,每个数组元素同时处于(c )个向量中。
A. 0
B. 1
C. 2
D. n
2. 已知单链表A长度为m,单链表B长度为n,它们分别由表头指针所指向,若将B整体连接到A的末尾,其时间复杂度应为(A )。
A. O(1)
B. O(m)
C. O(n)
D. O(m+n)
3. 假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为(A )。
A. front == rear
B. front != NULL
C. rear != NULL
D. front == NULL
4. 若让元素1,2,3依次进栈,则出栈次序不可能出现(c )种情况。
A. 3,2,1
B. 2,1,3
C. 3,1,2
D. 1,3,2
5. 图的广度优先搜索类似于树的(D )遍历。
A. 先根
B. 中根
C. 后根
D. 层次
6. 下面程序段的时间复杂度为( c )。
for(int i=0; i<m; i++)
for(int j=0; j<n; j++) a[i][j] = i*j;
A. O(m2)
B. O(n2)
C. O(m*n)
D. O(m+n)
7. 设有两个串t和p,求p在t中首次出现的位置的运算叫做(B )。
自考02331数据结构真题及答案(2009-2018)
自考02331数据结构真题及答案(2009-2018)自考02331数据结构真题及答案(2009-2018)
数据结构是计算机科学与技术领域中的一门基础课程,通过研究数
据的组织、存储和管理方式,以及不同数据结构之间的相互关系和运
算方法,提高算法效率和问题解决能力。在自考02331数据结构课程中,真题及其答案对于学生来说是很重要的复习资料。本文将提供自
考02331数据结构真题及答案的综合整理,希望对广大自考学子的备
考有所帮助。
一、2009年自考02331数据结构真题及答案
1. (1) 数据除了数值外还可以是什么类型的?
答:数据除了数值类型外还可以是字符型、字符串型、布尔型等。
(2) 数据的逻辑结构和物理结构分别指什么?
答:数据的逻辑结构指数据之间的关系及其运算规律,如线性结构、树形结构、图形结构等;数据的物理结构指数据在计算机内存中的存
储方式,如顺序存储、链式存储等。
2. 用C语言编写一个递归函数,计算n的阶乘。
答:以下是一个计算n的阶乘的递归函数的C语言代码:
```c
int factorial(int n) {
if(n == 0 || n == 1) {
return 1;
}
return n * factorial(n-1);
}
```
二、2018年自考02331数据结构真题及答案
1. 请给出二叉树的定义,并用C语言实现二叉树的结点结构。
答:二叉树是一种特殊的树结构,每个结点最多有两个子结点。以下是用C语言实现二叉树结点结构的代码:
```c
typedef struct BinaryNode {
数据结构复习资料复习提纲知识要点归纳
第一章数据结构概述
基本概念与术语
1.数据:数据是用来描述现实世界的文字,字符,图像,声音,以及能够输入到计算机中并能被计算机处理的符号。
2.数据元素:数据元素是数据的基本单位,是数据这个集合中的个体,也称之为元素,结点,顶点记录。
(补充:一个数据元素可由若干个数据项组成。数据项是数据的不可分割的最小单位。)3.数据对象:数据对象是具有相同性质的数据元素的集合,是数据的一个子集。(有时候也叫做属性。)
4.数据结构:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
(1)数据的逻辑结构:数据的逻辑结构是指数据元素之间存在的固有逻辑关系,常称为数据结构。
数据的逻辑结构是从数据元素之间存在的逻辑关系上描述数据与数据的存储无关,是独立于计算机的。
依据数据元素之间的关系,可以把数据的逻辑结构分成以下几种:
a.集合:数据中的数据元素之间除了“同属于一个集合“的关系以外,没有其他关系。
b.线性结构:结构中的数据元素之间存在“一对一“的关系。若结构为非空集合,则除了第一个元素之外,和最后一个元素之外,其他每个元素都只有一个直接前驱和一个直接后继。
c.树形结构:结构中的数据元素之间存在“一对多“的关系。若数据为非空集,则除了第一个元素(根)之外,其它每个数据元素都只有一个直接前驱,以及多个或零个直接后继。
d.图状结构:结构中的数据元素存在“多对多”的关系。若结构为非空集,折每个数据可有多个(或零个)直接后继。
(2)数据的存储结构:数据元素及其关系在计算机内的表示称为数据的存储结构。
想要计算机处理数据,就必须把数据的逻辑结构映射为数据的存储结构。逻辑结构可以映射为以下两种存储结构:
自考数据结构重点(每章节整理)
自考数据结构重点(每章节整理)
第一章概论
1.数据是信息的载体。
2.数据元素是数据的基本单位。
3.一个数据元素可以由若干个数据项组成。
4.数据结构指的是数据之间的相互关系,即数据的组织形式。
5.数据结构一般包括以下三方面内容:数据的逻辑结构、数据的存储结构、数据的运算
①数据元素之间的逻辑关系,也称数据的逻辑结构,数据的逻辑结构是从逻辑关系上描述数据,与数据的存储无关,是独立于计算机的。
②数据元素及其关系在计算机存储器内的表示,称为数据的存储结构。
数据的存储结构是逻辑结构用计算机语言的实现,它依赖于计算机语言。
③数据的运算,即对数据施加的操作。最常用的检索、插入、删除、更新、排序等。
6.数据的逻辑结构分类:线性结构和非线性结构
①线性结构:若结构是非空集,则有且仅有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。
线性表是一个典型的线性结构。栈、队列、串等都是线性结构。
②非线性结构:一个结点可能有多个直接前趋和直接后继。
数组、广义表、树和图等数据结构都是非线性结构。
7.数据的四种基本存储方法:顺序存储方法、链接存储方法、索引存储方法、散列存储方法
(1)顺序存储方法:
该方法把逻辑上相邻的结点存储在物理位置上相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。通常借助程序语言的数组描述。
(2)链接存储方法:
该方法不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系由附加的指针字段表示。通常借助于程序语言的指针类型描述。
(3)索引存储方法:
该方法通常在储存结点信息的同时,还建立附加的索引表。
数据结构与导论期末复习资料
《数据结构》科(开卷.只准带教材)
(模拟样题)
一、填空题(每小题2分)
1、数据结构的逻辑结构和存储结构分为哪几种?逻辑结构:集合结构、线性结构、树型结构,图型结构;存储结构:
顺序存储、链接存储、索引存储、散列存储。
2、在单链表中,若要删除指针p所指结点的后继结点,则需执行哪几条语句?q=p->next;p->next=q->next;free(q);
3、判断循环队列是否为空和满的条件分别是什么?队空:Q->front= =Q->rear;队满:(Q->rear+1)%Q->MaxSize==
Q->front
4、判断顺序栈是否为空和满的条件分别是什么?栈空:S->top==-1;栈满:S->top== MaxSize-1;
5、若经常需要对线性表进行插入和删除运算,则最好采用什么存储结构?;若经常需要对线性表进行查找运算,则最
好采用_什么存储结构?分别是:链接存储和顺序存储
6、在线性结构、树型结构、和图型结构中,前驱和后继结点这间分别存在着什么联系?分别为:一对一、一对多、多
对多的联系
7、队列的插入操作在哪里进行?删除操作在哪里进行?队列插入在队尾进行;删除在队首
8、单链表中指针P所指结点为尾结点的条件是什么?p->next==NULL
9、栈的插入操作在哪里进行?,删除操作在哪里进行?栈的插入和删除都在栈顶进行
10、深度为n(根的层次号为1)的完全二叉树至多有个结点?2n n -1
11、假定一棵二叉树的广义表表示为a(b(c,d),e(,f(,g))),它含有双分支结点,单分支结点,叶子结点分别
自考02142《数据结构导论》真题(2022.10)
自考02142《数据结构导论》真题及(2022.10)自考02142《数据结构导论》真题及答案解析(2022.10)
1.[单选题] 设输入序列为ABC,输出为ABC,则经过的栈操作为()。
A.push,pop,push,push,pop,pop
B.push,push,pop,pop,push,pop
C.push,push,push,pop,pop,pop
D.push,pop,push,pop,push,pop
2.[单选题] 设有一循环队列CQ,队列的长度为maxsize,则该循环队
列满的条件为()。
A.(CQ.rear+1)%maxsize==CQ.front
B.CQ.rear==CQ.front
C.(CQ.rear+1)%maxsize==CQ.rear
D.CQ.rear==NULL
3.[单选题] 树的相关术语中,兄弟指()。
A.祖先相同的结点
B.根相同的结点
C.度数相同的结点
D.父结点相同的结点
4.[单选题] 执行进栈操作,在元素X进栈前需要进行的操作是()。
A.判断栈是否满,若栈未满,top值加1
B.判断栈是否空,若栈未空,top值加1
C.判断栈是否满,若栈未满,top值减1
D.判断栈是否空,若栈未空,top值减1
5.[单选题] 森林有两种遍历方法,分别是()。
A.先序遍历森林和中序遍历森林
B.先序遍历森林和后序遍历森林
C.中序遍历森林和层次遍历森林
D.后序遍历森林和层次遍历森林
6.[单选题] 有向图中某顶点v的入度为2,出度为3,则该顶点的度为()。
A.3
B.4
C.5
D.6
复习总结资料(数据结构导论)
《数据结构导论》复习资料
课程代码:02142
一、单项选择题
1.一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是A.不确定 B.n-i+1 C.i D.n-i
2.具有N个结点的二叉树的二叉链表结构中,指针域为NULL的数目应为
A. N B.2N C.N+1 D.2N+1
3.栈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==NULL
C.head!=NULL D.head==NULL
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]的存储地址是
数据结构导论自考全书重点综合复习
6.线性表基本运算上的应用和算法设计
7.顺序表和链表的比较 8.串的概念和基本操作
12
1,线性表的基本概念 2,线性表的基本运算 起始结点、终端结点、前驱、后继、直接前驱、 直接后继、线性表长度、空表 初始化、求表长、读表元、定位、插入、删除
13
经典题例
3. 在单链表中,存储每个结点需要有两个域,一 个是数据域,另一个是指针域,指针域指向该结 点的() A.直接前趋 B.直接后继 C.开始结点 D.终端结点 18.线性表中所含结点的个数称为______。
29
应用题
经典题例
34.设单链表的结点结构如下: struct node{ datatype data; struct node*next; } 试编写一个函数 int count(struct node *head,datatype x) 统计单链表中数据域为x的结点个数。
30
应用题
经典题例
34.试编写一个函数,以读取单链表的第i个元素。 34.若循环单链表长度大于1,p为指向链表中某结点 的指针,试编写一算法删除p结点的前驱结点。 34.试编写一算法,以完成在带头结点单链表L中第i 个位置前插入元素X的操作。
5.队列的基本概念 要点:
6.队列的基本运算
7.队列的顺序实现 8.循环队列的实现 9.链队的实现 10.数组的存储结构 11.矩阵的压缩存储 12.三元组
02331数据结构自考——各章要点
自考《数据结构》各章要点一
第一章概论
数据就是指能够被计算机识别、存储和加工处理的信息的载体。
数据元素是数据的基本单位,可以由若干个数据项组成。数据项是具有独立含义的最小标识单位。
数据结构的定义:
·逻辑结构:从逻辑结构上描述数据,独立于计算机。
·线性结构:一对一关系。
·线性结构:多对多关系。
·存储结构:是逻辑结构用计算机语言的实现。
·顺序存储结构:如数组。
·链式存储结构:如链表。
·稠密索引:每个结点都有索引项。
·稀疏索引:每组结点都有索引项。
·散列存储结构:如散列表。
·对数据的操作:定义在逻辑结构上,每种逻辑结构都有一个运算集合。
·常用的有:检索、插入、删除、更新、排序。
·数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。
·原子类型:由语言提供。
·结构类型:由用户借助于描述机制定义,是导出类型。
抽象数据类型ADT:
·是抽象数据的组织和与之的操作。相当于在概念层上描述问题。
·优点是将数据和操作封装在一起实现了信息隐藏。
程序设计的实质是对实际问题选择一种好的数据结构,设计一个好的算法。算法取决于数据结构。
算法是一个良定义的计算过程,以一个或多个值输入,并以一个或多个值输出。
评价算法的好坏的因素:
·算法是正确的;
·执行算法的时间;
·执行算法的存储空间(主要是辅助存储空间);
·算法易于理解、编码、调试。
时间复杂度:是某个算法的时间耗费,它是该算法所求解问题规模n的函数。
渐近时间复杂度:是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。
评价一个算法的时间性能时,主要标准就是算法的渐近时间复杂度。
自学考试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()
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构导论复习
第一章概论
1.数据:凡能被计算机存储、加工处理的对象。
2.数据元素:是数据的基本单位,在程序中作为一个整体而加以考虑和处理
3.数据项:又叫字段或域,它是数据的不可分割的最小标识单位。
4.逻辑结构需要注意的几点:
①逻辑结构与数据元素本身的内容无关
②逻辑结构与数据元素相对位置无关
③逻辑结构与所有结点的个数无关
5.数据元素间逻辑关系是指数据元素之间的关联方式或称“领接关系”。
6.四类基本逻辑结构(集合、线性结构、树形结构和图形结构)的不同特点?
答:集合中任何两个结点之间都没有逻辑关系,组织形式松散;
线性结构中结点按逻辑关系依次排列形成一条“锁链”;
树形结构具有分支、层次特性,其形态有点像自然界中的树;
图状结构最复杂,其中的各个结点按逻辑关系互相缠绕,任何两个结点都可以领接。
7.运算是在逻辑结构层次上对处理功能的抽象
8.基本运算的含义?
答:假如是S上的一些运算的集合,是的一个子集,使得中每一运算都可以“归约”为中的一个或多个运算,而中任一运算不可归约为别的运算,则称中运算为基本运算
9.数据结构是指由一个逻辑结构S和S上的一个基本运算集构成的整体(S ,)。
10.数据结构涉及数据表示和数据处理两个方面
11.存储结构的含义和四种基本存储方式的基本思想?
答:存储结构是指按照逻辑结构的要求建立的数据的机内表示称为存储结构。
一个存储结构应包含三个主要的部分:存储结点、机内表示和附加设施。
存储结构包括四种存储方式,顺序存储方式、链式存储方式、索引存储方式和散列存储方式。
12.运算实现与运算的联系与区别?
答:运算指的是数据在逻辑结构S上的某种操作,运算只描述处理功能,不包括处理步骤和方法;而运算实现是指一个完成该运算功能的程序,运算实现的核心是处理步骤的规定,即算法设计。
13.算法的概念和分类?
答:算法是指规定了求解给定类型问题所需的所有“处理步骤”及其执行顺序,使得给定类型的任何问题能在有限时间内被
机械地求解。
算法的类型有:运行终止的程序可执行部分、伪语言算法和非形式算法(根据描述算法语言不同)
14.算法在给定输入下的计算量的含义和估算的方法?
答:算法在给定输入下的计算量是指根据该类问题的特点合理地选择一种或几种操作作为“标准操作”,确定每个算法在给定输入下共执行多少次标准操作,并将此次数规定为该算法在给定输入下的计算量。估算的方法有:最坏时间复杂度和平均时间复杂度。
15.最坏情况时间复杂性和平均时间复杂性的概念?
答:最坏情况时间复杂性也称为最坏时间复杂度,是指以算法在所有输入下的计算量的最大值作为算法的计算量;平均情况时间复杂性也称为平均时间复杂度,是指以算法在所有输入下的计算量的加权平均值作为算法的计算量;
16.空间复杂性指的是一个算法除输入数据占存储空间之外所需要的附加存储空间的大小。
17.算法的性质:正确性、易读性、健壮性和高效率。
第二章线性表
1.线性结构:是n(n≥0)个结点的有穷序列。
2.线性结构的基本特征:若至少含有一个结点,则除起始结点没有直接前趋外,其他结点
有且仅有一个直接前趋;除终端节点没有直接后继外,其他结点
有且仅有一个直接后继。
3.线性表的逻辑结构是线性结构
4.线性表的六种基本运算的功能?
答:⑴初始化(L),功能是建立一个空表
⑵求表长(L),功能是返回线性表L的长度
⑶读表元(L,i),功能是返回线性表L的第i个结点
⑷定位(按值查找)(L,X),功能是返回找到的结点集合
中序号的最小值,否则返回值为0(说明没有找到)
⑸插入(L,X,i),功能是在线性表L的地i个位置上
增加一个值为X的新结点(整个表长+1)
⑹删除(L,i),功能是撤销线性表L的第i个位置结点
(整个表长-1)
5.顺序表表示法的基本思想、特点
答:基本思想是:按照顺序存储方式,顺序表的一个存储结点存储线性表的一个结点的内容,即数据元素,所有存储结点按相应数据元素建的逻辑关系决定的次序依次排列。
特点:逻辑结构中相邻的结点在存储结构中仍相邻。
6.区别顺序表的容量与线性表的表长?
答:顺序表的容量是指定义顺序表时的的值,而线性表的表长是指其中包含的结点个数。
7.顺序表中的地址计算:的地址(1)*l,b是首地址,l是每个结点占的空间
7.掌握顺序表上实现插入、删除和定位运算的三个算法P18-20 8.单链表表示法的基本思想——用指针表示结点间逻辑关系9.单链表的结点形式:
答:由数据域和指针域两部分组成;这两部分各自的作用分别是数据域是用于存储线性表的一个数据元素的,指针域是用于存放一个指针的,该指针指向本结点所含数据元素的直接后继所在的结点。
10.头指针和头结点的作用?
答:头指针是一个指向链表开始结点的指针,单链表由头指针唯一确定;头结点是我们人为地在链表的开始结点之前附加的一个结点,有了头结点之后,头指针指向头结点,不论链表是否为空,头指针总是非空的,而且头指针的设置使得对链表的第一位置上的操作和在其他位置上的操作一致。11.单链表上实现插入、删除和定位三种运算的三个算法:P26-28 12.插入算法中所包含的指针操作:()→→→→;
删除算法中所包含的指针操作:→→→(q);
13.()的作用:
①生成一个结点
②形式一条指针
14.循环链表的组织方法:将单链表中的尾结点的改成指向头结点的指针,就形成了循环链表。循环链表优点:可以从表中任一结点出发都可以向后扫描整表。