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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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.线性表的六种基本运算的功能?

答:⑴初始化INITIATE(L),功能是建立一个空表

⑵求表长LENGTH(L),功能是返回线性表L的长度

⑶读表元GET(L,i),功能是返回线性表L的第i个结点

⑷定位(按值查找)LOCATE(L,X),功能是返回找到的结点集合中序号的最小值,否

则返回值为0(说明没有找到)

⑸插入INSERT(L,X,i),功能是在线性表L的地i个位置上增加一个值为X的新

结点(整个表长+1)

⑹删除DELETE(L,i),功能是撤销线性表L的第i个位置结点(整个表长-1)5.顺序表表示法的基本思想、特点

答:基本思想是:按照顺序存储方式,顺序表的一个存储结点存储线性表的一个结点的内容,即数据元素,所有存储结点按相应数据元素建的逻辑关系决定的次序依次排列。

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

6.区别顺序表的容量与线性表的表长?

答:顺序表的容量是指定义顺序表时的maxsize的值,而线性表的表长是指其中包含的结点个数。

7.顺序表中ai的地址计算:ai的地址=b+(i-1)*l,b是首地址,l是每个结点占的空间7.掌握顺序表上实现插入、删除和定位运算的三个算法P18-20

8.单链表表示法的基本思想——用指针表示结点间逻辑关系

9.单链表的结点形式:

答:由数据域和指针域两部分组成;这两部分各自的作用分别是数据域是用于存储线性表的一个数据元素的,指针域是用于存放一个指针的,该指针指向本结点所含数据元素的直接后继所在的结点。

10.头指针和头结点的作用?

答:头指针是一个指向链表开始结点的指针,单链表由头指针唯一确定;头结点是我们人为地在链表的开始结点之前附加的一个结点,有了头结点之后,头指针指向头结点,不论链表是否为空,头指针总是非空的,而且头指针的设置使得对链表的第一位置上的操作和在其他位置上的操作一致。

11.单链表上实现插入、删除和定位三种运算的三个算法:P26-28

12.插入算法中所包含的指针操作:s=malloc(size);s→data=x;s→next=p→next;p→next=s;

删除算法中所包含的指针操作:q=p→next;p→next=q→next;free(q);

13.Malloc(size)的作用:

①生成一个结点

②形式一条指针

14.循环链表的组织方法:将单链表中的尾结点的NULL改成指向头结点的指针,就形成了循环链表。循环链表优点:可以从表中任一结点出发都可以向后扫描整表。

相关文档
最新文档