大学数据结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运算、关系运算、数据传输。
一个算法一般都可以用顺序、选择、 循环三种基本控制结构组合而成。
1.1算法
1.1.2算法的复杂度 算法时间复杂度和算法空间复杂度。
1.1算法
1.算法的时间复杂度
算法时间复杂度是指执行算法所需要的计算工作量。 算法的工作量用算法所执行的基本运算次数来度量, 而算法所执行的基本运算次数是问题规模的函数,即

data link
数据域,用来 存放结点的值
指针域,用来存放结点 的直接后继的地址

术语
data link
表示每个数据元素的两部分信息组合在一 起被称为结点;
其中表示数据元素内容的部分被称为数据 域(data);
表示直接后继元素存储地址的部分被称为 指针或指针域(next)。

head
a
b
c
d^
单联表结构示意图
具有移动的元素个数与该元素的位置有关。 8、在长度为n的顺序表中插入一个元素的时间复杂度为O(n),删除
一个元素的时间复杂度为O(n)。
1.4 线性表的链式存储结构--链表
线性表的链式存储结构是指用一组任意的存储单元(可以连续,也可以 不连续)存储线性表中的数据元素。因此,链表中结点的逻辑次序和物 理次序不一定相同。为了能正确表示数据元素间的逻辑关系,对于每个 数据元素不仅要表示它的具体内容,还要附加一个表示它的直接后继元 素存储位置的信息。这个信息称为指针(pointer)或链(link)。这两部分 组成了链表中的结点结构:
在复杂线性表中,由若干项数据元素组成的数据元 素称为记录,而由多个记录构成的线性表又称为文 件。
非空线性表的结构特征:
(1)有且只有一个根结点a1,它无前件;
(2)有且只有一个终端结点an,它无后件;
(3)除根结点与终端结点外,其他所有结点有且只有一 个前件,也有且只有一个后件。结点个数n称为线性表的 长度,当n=0时,称为空表。
第一章数据结构与算法
1.1算法 1.2数据结构的基本概念 1.3线性表及其顺序存储结构 1.4栈和队列 1.5线性链表 1.6树与二叉树 1.7查找技术 1.8排序技术
1Fra Baidu bibliotek1算法
1.1.1 算法的基本概念
算法:是指解题方案的准确而完整的描 述。 算法不等于程序,也不等于计算机方 法,程序的编制不可能优于算法的设计。 1、算法的基本特征:是一组严谨地定义 运算顺序的规则,每一个规则都是有效 的,是明确的,此顺序将在有限的次数 下终止。
1.1算法
特征包括: (1)可行性; (2)确定性,算法中每一步骤都必须有明确 定义,不允许有模棱两可的解释,不允许有多 义性; (3)有穷性,算法必须能在有限的时间内做 完,取能在执行有限个步骤后终止,包括合理 的执行时间的含义; (4)拥有足够的情报。
1.1算法
2、算法的基本要素: 一是对数据对象的运算和操作; 二是算法的控制结构。 基本运算和操作包括:算术运算、逻辑
(1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个
后件。
非线性结构:不满足线性结构条件的数据结构。
数据的存储结构
数据的逻辑结构在计算机存储空间中的 存放形式称为数据的存储结构(也称数 据的物理结构)。 数据的存储结构有顺序、链接、索引 等。
1.3 线性表及其存储结构
算法的工作量=f(n)
最坏情况复杂性:是指在规模为n时,算法所执行的基本 运算的最大次数。(例:O(n2))
常见的时间复杂度,按数量级比较排列关系为:
O(1) O(log 2 n) O(n log 2 n) O(n2 ) O(nk ) O(2n )
1.1算法
2.算法空间复杂度 算法空间复杂度是指执行这个算法所需
要的内存空间。 一个算法所占用的存储空间包括算法程
序所占的空间、输入的初始数据所占的 存储空间以及算法执行过程中所需要的 额外空间。
1.2数据结构的基本概念
数据结构是指相互有关联的数据元素的集合。
数据结构研究的三个方面: (1)数据集合中和数元素之间所固有的逻辑关系, 即数据的逻辑结构; (2)在对数据进行处理时,各数据元素在计算机 中的存储关系,即数据的存储结构; (3)对各种数据结构进行的运算。
1.3.1 线性表的基本概念 线性表由一组数据元素构成,数据元素的位置只取决于自己 的序号,元素之间的相对位置是线性的。
学生情登记表
姓名
王强 刘建平 赵军 葛文华 ……
学号
800356 800357 800361 800367
……
性别
男 男 女 男 ……
年龄
19 20 19 21 ……
健康状况
良好 一般 良好 较差 ……
顺序表的基础要点
1、线性表是具有n个数据元素的有限序列。 2、线性表的顺序存储结构具有三个弱点:
①在插入和删除时,需移动大量元素 ②由于难以估计,必须预先分配较大的空间 ③表的容量难以扩充 (如何解决?)
3、顺序存储结构通过元素的相对存储地址来表示元素之间的关系 4、线性表顺序存储的优点是可随机存取元素。 5、顺序表中逻辑上相邻的元素的物理位置必定紧邻。 6、顺序表是一种随机存取的存储结构。 7、在顺序表中插入或删除一个元素时,需要平均移动表的一半元素,
线性表的顺序存储结构
线性表的顺序存储结构具有以下两个基本特点: (1)线性表中所有元素的所占的存储空间是连 续的; (2)线性表中各数据元素在存储空间中是按逻 辑顺序依次存放的。 ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,, ADR(a1)为第一个元素的地址,k代表每个元素占 的字节数。
讨论以上问题的主要目的是为了提高数据的效率。所谓提高 数据处理的效率,主要包括两个方面:一是提高数据处理的 速度,二是尽量节省在数据处理过程中所占用的计算机存储 空间。
数据的逻辑结构
数据的逻辑结构包含:
(1)表示数据元素的信息; (2)表示各数据元素之间的前后件关系。
数据的逻辑结构分为:线性结构与非线性结构 线性结构条件:
相关文档
最新文档