- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章 数据结构与算法
1.1 算法的复杂度
1. 算法的基本概念
利用计算机算法为计算机解题的过程实际上是在实施某种
算法。
1) 算法一般具有 4 个基本特征:可行性、确定性、有穷性、
拥有足够的情报。
2) 算法的基本运算和操作包括:算术运算、逻辑运算、关系
运算、数据传输。
3) 算法的 3 种基本控制结构是:顺序结构、选择结构、循环
结构。
4) 算法基本设计方法:列举法、归纳法、递推、递归、减半
递推技术、回溯法。
5) 所谓指令系统是一个计算机系统能执行的所有指令的集
合。
2. 算法的复杂度
算法复杂度包括时间复杂度和空间复杂度。注意两者的区
别,无混淆,见表 1-1。
表 1-1 算法复杂性
名称 描述
时间复杂度 执行算法所需要的计算工
作量
第 1 页
空间复杂度 执行这个算法所需要的内
存空间
1.2 数据结构
1.2.1 逻辑结构和存储结构
1. 数据结构的基本概念
(1) 数据结构
数据结构指相互有关联的数据元素的集合。
(2) 数据结构研究的 3 个方面
i) 数据集合中各数据元素之间所固有的逻辑关系,即数据的
逻辑结构。
ii) 在对数据进行处理时,各数据元素在计算机中的存储
系,即数据的存储结构。
iii) 对各种数据结构进行的运算。
2. 逻辑结构
数据的逻辑结构是对数据元素之间的逻辑关系的描述,它可
以用一个数据元素的集合和定义在此集合中的若干关系来表示。
数据的逻辑结构有两个要素:一是数据元素的集合,通常记为 D;
二是 D 上的关系,它反映 D 中各数据元素之间的前后件关系,通
常记为 R。一个数据结构可以表示成:B= (D,R)
其中,B 表示数据结构。为了反映 D 中各数据元素之间的前后
件关系,一般用二元组来表示。
例如,如果把一年四季看作一个数据结构,则可表示成:B=
第 2 页
(D,R)
D={春季,夏季,秋季,冬季}
R={ (春季,夏季),(夏季,秋季),(秋季,冬季)}
3. 存储结构
数据的逻辑结构在计算机存储空间中的存放形式称为数据的
存储结构也称数据的物理结构。
一种数据的逻辑结构根据需要可以表示成多种存储结构,常
用存储结构有顺序、链式等存储结构。
顺序存储方式主要用于线性的数据结构,它把逻辑上相邻的
数据元素存储在物理上相邻的存储单元里,结点之间的关系由存
储单元的邻接关系来体现。
链式存储结构就是在每个结点中至少包含一个指针域,用指
针来体现数据元素之间逻辑上的联系。
1.2.2 线性结构和非线性结构
根据数据结构中各数据之间前后件关系的复杂程度,一般
将数据结构分为两大类型:线性结构与非线性结构。
1) 如果一个非空的数据结构满足下列两个条件:
a) 有且只有一个根结点
b) 每一个结点最多有一个前件,也最多有一个后件。
则称该数据结构为线性结构。又称线性表。
2) 线性表的顺序存储结构具有以下两个基本特点:
a) 线性表中所有元素所占的存储空间是连续的;
第 3 页
b
文档评论(0)