数据库第一章数据结构与算法
第一章 数据结构与算法
【考点 1】算法的基本概念
算法:是指一组有穷的指令集,是解题方案的准确而完整的描述。算
法不等于程序,也不等于计算方法。
算法的基本特征:
确定性,算法中每一步骤都必须有明确定义,不允许有多义性;
有穷性 算法必须能在有限的时间内做完 即能在执行有限个步骤后
终止;
可行性,算法原则上能够精确地执行;
拥有足够的情报。
算法的组成要素:一个算法由数据对象的运算和操作以及其控制结构
这两部分组成。
算法的基本运算和操作:算术运算 逻辑运算 关系运算 数据传输。
算法的基本控制结构:顺序,选择,循环。
算法基本设计方法:列举法、归纳法、递推、递归、减半递推技术。
【考点 2】算法的复杂度
算法效率的度量——算法的复杂度:时间复杂度和空间复杂度。
算法时间复杂度:指执行算法所需要的计算工作量。通常,一个算法
所用的时间包括编译时间和运行时间。
算法空间复杂度:指执行这个算法所需要的内存空间。包括算法程序
所占的空间 输入的初始数据所占的空间 算法执行过程中所需的额
外空间。
数据库第一章数据结构与算法
空间复杂度和时间复杂度并不相关。
【考点 3】数据结构的基本概念
数据:数据是客观事物的符号表示,是能输入到计算机中并被计算程
序识别和处理的符号的总称,如文档,声音,视频等。
数据元素:数据元素是数据的基本单位。
数据对象:数据对象是性质相同的数据元素的集合。
数据结构:是指由某一数据对象中所有数据成员之间的关系组成的集
合。
【考点 4】逻辑结构和存储结构
数据结构可分为数据的逻辑结构和存储结构。
数据的逻辑结构是对数据元素之间的逻辑关系的描述 与数据的存储
无关 是面向问题的 是独立于计算机的。它包括数据对象和数据对
象之间的关系。
数据的存储结构也称为数据的物理结构 是数据在计算机中的存放的
方式 是面向计算机的 它包括数据元素的存储方式和关系的存储方
式。
数据结构和逻辑结构的关系:一种数据的逻辑结构可以表示成多种存
储结构即数据的逻辑结构和存储结构不一定一一对应。
常见的存储结构有:顺序,链接,索引等。采用不同的存储结构其数
据处理的效率是不同的。
【考点 5】线性结构和非线性结构
线性结构的条件(一个非空数据结构):(1)有且只有一个根结点;
数据库第一章数据结构与算法
(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
栈、队列、双向链表是线性结构,树、二叉树为非线性结构。
【考点 6】线性表及其顺序存储结构
线性表是由一组数据元素构成 数据元素的位置只取决于自己的序号
元素之间的相对位置是线性的。
在复杂线性表中 由若干项数据元素组成的数据元素称为记录;由多
个记录构成的线性表称为文件。
非空线性表的结构特征:
(1)有且只有一个根结点 a1,它无前件;
(2)有且只有一个终端结点 an,它无后件;
(3)除根结点与终端结点外,其他所有结点有且只有一个前件,也
有且只有一个后件。
结点个数 n 称为线性表的长度 当 n=0 时,称为空表。
线性表的顺序存储结构具有以下两个基本特点:
(1)线性表中所有元素所占的存储空间是连续的;
(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
元素 ai 的存储地址为:ADR(ai)=ADR(a1)+(i-1)*k ADR(a1)为第一
个元素的地址 k 代表每个元素占的字节数。
顺序表的运算:查找、插入、删除。
【考点 7】线性链表
线性链表是线性表的链式存储结构 数据结构中的每一个结点对应于
数据库第一章数据结构与算法
一个存储单元 这种存储单元称为存储结点 简称结点。结点由两部
分组成:(1) 用于存储数据元素值 称为数据域;(2) 用于存放指针
称为指针域,用于指向前一个或后一个结点。
在链式存储结构中 存储数据结构的存储空间可以不连续 各数据结
点的存储顺序与数据元素之间的逻辑关系可以不一致 而数据元素之
间的逻辑关系是由指针域来确定的。
链式存储