- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构 第1章 绪论【荐】.ppt
实用数据结构基础 第1章 绪论 第1章 绪论 知 识 点 数据结构中常用的基本概念和术语 算法描述和分析方法 难 点 算法时间复杂度 要 求 了解数据的逻辑结构和物理结构; 了解算法对于程序设计的重要性 ; 掌握算法时间复杂度的分析方法 。 第1章 目录 1-1 什么是数据结构 1-2 数据的逻辑结构 1-3 数据的存储结构 1-4 算法和算法分析 小 结 验证性实验1:数组、指针、结构体练习 自主设计实验1:学生成绩分析程序 单元练习1 1-2 数据的逻辑结构 1-2-1 基本概念 1.数据(Data) 数据是信息的载体,是对客观事物的符号表示。通俗的说,凡是能被计算机识别、存取和加工处理的符号、字符、图形、图象、声音、视频信号等一切信息都可以称为数据。 2. 数据元素(Data Element) 数据元素是对现实世界中某独立个体的数据描述,是数据的基本单位。 数据元素也称为结点(Node),在计算机中,常作为一个整体来处理。 1-2-2 逻辑结构的描述 数据元素之间的逻辑关系,称为数据的逻辑结构。 一个数据的逻辑结构可以用二元组来表示: G=(D,R) 其中:D是数据元素的集合; R是D上所有数据元素之间关系的有限集合。 【例1-4】一种数据结构Line=(D,R),其中: D={01,02,03,04,05,06,07,08,09,10} R={r} r={05,01,01,03,03,08,08,02,02,07, 07,04,04,06,06,09,09,10} 1-3 数据的存储结构 数据元素及其关系在计算机存储器内的表示,称为数据的存储结构。 四种不同的存储结构: 1. 顺序存储 顺序存储结构的特点是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。 例如,一个字母占一个字节,输入A、B、C、D、E,并存储在2000起始的连续的存储单元,如图1-8为顺序存储结构。 2. 链式存储 借助指示元素存储地址的指针(Pointer)来表示数据元素之间的逻辑关系。 例如,图1-9为表示复数z=2.0+4.8i的链式存储结构。 其中地址2000存放实部,地址2100存放虚部,实部与虚部的关系用值为”2100”的指针来表示。 3. 索引存储 索引存储是在原有存储数据结构的基础上,附加建立一个索引表,索引表中的每一项都由关键字和地址组成。索引表反映了按某一个关键字递增或递减排列的逻辑次序,主要作用是为了提高数据的检索速度。 4. 散列存储 散列存储是通过构造散列函数来确定数据存储地址或查找地址的。例如:某一地区进行解放后出生人口的统计。我们用:“出生年份-1948=存储地址”来构造一个函数,就能方便的得到一个某地区解放后出生人口的调查表1-2。 1-4 算法和算法分析 1-4-1 算法特性 1.算法(Algorithm) 算法是对特定问题求解步骤的一种描述,是指令的有限序列。其中每一条指令表示一个或多个操作。 2. 算法的特性: (1)有穷性 (2)确定性 (3)可行性(正确性) (4)输 入 (5)输 出 3. 算法与程序的区别 (1)一个算法必须在有穷步之后结束;一个程序不一定满足有穷性。 (2)程序中的指令必须是机器可执行的,而算法中的指令则无此限制。 (3)算法代表了对问题的求解过程,而程序则是算法在计算机上的实现。算法用特定的程序设计语言来描述,就成了程序。 (4)算法与数据结构是相辅相承的。 时间复杂度常用数量级的形式来表 记作: T(n)=O(f(n))。 其中,大写字母O为Order(数量级)的字头, f(n)为函数形式,如T(n)=O(n2)。 【例1-7】交换A和B内容程序段的时间复杂度。 T=A; A=B; B=T; 解: 以上三条单个语句均执行1次,该程序段的执行时间是一个与问题n无关的常数,因此,算法的时间复杂度为常数阶,记作T(n)=O(1)。 O(1)为常数数量级,其时间复杂性与输入规模n无关。 【例1-8】计算下面求累加和程序段的时间复杂度。 (1) x=0;y=0 ;
文档评论(0)