数据结构1.2章..docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构1.2章.

绪论 基本概念和术语 1.1.1 基本概念 数据: 对客观事物的符号表示; 被计算机处理的符号的总称; 计算机程序加工的“原料”。 内容:数值与非数值 例如:数值、字符、图像、动画、声音等。 数据元素: 数据的基本单位; 在程序中作为一个整体而加以考虑和处理; 数据元素又称元素、结点、顶点或记录。 数据项: 数据元素可由若干数据项组成; 数据项是数据不可分割的最小单位; 又称字段或域。 4 数据对象: 性质相同数据元素的集合,是数据的子集; 举例:整形数据对象:整数的集合 5 数据结构: Data Structure 简单解释:相互之间存在一种或多种特定关系的数据元素的集合; 定义: 二元组 Data_structure=(D,S) D是数据元素的有限集; S是D上关系的有限集; 四类基本(逻辑)结构: 集合、线性、树形、网状结构 1.1.2 数据的逻辑结构 1 逻辑关系: 数据元素之间的关联方式; 一个结点代表一个元素,结点之间的线性代表逻辑关系; 参图1.5,四种基本结构关系图。 2 逻辑结构: 概念: a.数据元素之间逻辑关系称为数据的逻辑结构;b.从具体问题抽象出来的数学模型; c.数据结构的数学描述。 分类: 集合:结点之间无关系;(同属于一个集合) 线性:结点之间是线性关系;(元素之间一对一) 树形:结点之间是层次关系;(元素之间一对多) 网状:结点之间是网状关系;(元素之间多对多) 逻辑结构的特性: 逻辑结构与数据元素本身的形式、内容无关; 逻辑结构与数据元素的相对位置无关; 逻辑结构与所含结点个数无关; 独立于计算机的硬件结构。 逻辑结构的作用:即数学模型 a.重新组织数据; b.进行算法设计; c.构造数据的机内表示提供“依据” 1.1.3 数据的存储结构 1存储结构:物理结构 数据结构在计算机中的表示;(包括数据元素和关系的表示) 数据单位:位和字节;数据域:字段;结点/元素:一个记录; 2存储结构的分类 顺序存储结构: 借助元素在存储器的相对位置来表示数据元素之间的逻辑关系; 链式存储结构: 借助元素存储地址(指针)来表示数据元素之间的逻辑关系; 散列存储结构 索引存储结构 存储结构的描述:高级语言(数据类型,C语言) 数组:描述顺序存储结构 指针:描述链式存储结构 存储结构和逻辑结构的关系 算法的设计取决于逻辑结构 算法的实现取决于存储结构 算法和算法分析 1.2.1算法 1概念: 对特定问题求解的一种描述,是指令的有限序列,其中每条指令表示一个或多个操作; 程序: 完成既定任务的一组指令序列 2重要特性: 有穷性:一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有穷时间内完成 确定性:算法中每条指令必须有确切的含义,读者在理解上不会产生二义性。并且,在任何条件下,算法只有唯一一条执行路径,即对相同的输入只能得出相同的输出 可行性:算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的。 输入:算法有0个或多个输入,这些输入取自于某个特定对象的集合 输出:一个算法有1个或多个输出。 3算法描述:自然语言、数学公式、流程图、伪代码、程序设计语言 C语言作为算法描述:程序 4算法与程序 算法的含义与程序十分相似,但又有区别: 程序必须是机器可执行的,但算法无此限制; 算法代表对问题的求解,而程序则是算法在计算机上的特定实现; 算法用C语言描述,就是程序 1.2.2算法的设计要求 1正确性 ; 2可读性; 3健壮性; 4高效性:时空性能 时间性能:指算法包含的计算量 空间性能:指算法需要的存储量 1.2..3算法的时间复杂度 1度量程序执行时间 事后分析 ; 事前分析估算 2算法度量 : 时间复杂度; 空间复杂度 3时间复杂度: 一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数f(n),记作T(n)=O(f(n));它表示随问题规模的增大,算法执行时间的增长率和f(n)相同 常用时间复杂度 常量阶:O(1),线性阶:O(n),平方阶:O(n),对数阶:O(log n),指数阶O(2)。 1.2.4算法的空间复杂度 1空间复杂度: 表示:S(n)= O(f(n)) n表示问题规模的大小 2评价: 数据占有存储的空间 附加的存储空间 线性表 2.1 线性表的类型定义 1线性结构 基本特征:除第一个和最后一个数据元素,每个结点至多只有一个直接前驱并且只有一个直接后继; 结点要求: 一个结点代表一个元素 所有结点具有相同的特性 2 线性表的定义: 最简单、最基本、最常用的一种数据结构;它的逻辑结构是

文档评论(0)

sdgr + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档