第1章绪论-西南交通大学课程与资源中心.pptVIP

第1章绪论-西南交通大学课程与资源中心.ppt

  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章绪论-西南交通大学课程与资源中心.ppt

数据结构定位 例如:在一张图片内搜索某个特定图形。 数据结构课程内容 绪论 数组和广义表 树和二叉树 图 学习要求 掌握各种数据结构及基本操作的算法实现 理解和掌握数据结构特点 理解和掌握相关算法原理 了解如何实现算法,具备用C语言编写经典算法程序的能力 学会分析数据对象的特征,选择适当的数据结构及相应处理算法求解问题 掌握一般算法的复杂度分析 上机实习 第1章 绪论 主要内容: 数据结构 数据类型 抽象数据类型 算法和算法分析 §1.1 基本概念和术语 1. 数据和数据结构 (1) 基本概念 数据:是描述客观事物的数字、字符以及所有能够输入到计算机中并被计算机处理的信息的总称。 基本概念(.续) (2) 数据结构的定义 数据结构:相互之间存在一种或多种特定关系的数据元素的集合。 形式定义: Data_Structure=(D,S) D——数据元素集合 S——关系集合 (3) 数据结构的四种基本结构 集合:仅同属一集合 线性结构:一对一 例1:电话号码查询系统 (a1,b1) (a2,b2)……(an,bn) 例2:图书馆书目自动检索问题 数据结构的四种基本结构(.续) 树形结构:一对多 例如:家谱 (4) 数据的两种结构 数据结构定义2:数据及数据之间的相互关系。一般包括: 数据的逻辑结构 数据的物理结构 数据的运算 数据的两种结构(.续) 物理结构:数据在计算机中的具体表示,也称为存储结构或映象。 顺序映象→顺序存储结构:借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系 非顺序映象→链式存储结构:借助指示元素存储地址的指针表示数据元素之间的逻辑关系 元素(结点):表示数据元素的若干位组成的位串 数据的操作 常见操作 插入操作、删除操作、更新操作、创建操作、查找操作、排序操作、遍历操作、撤销操作。 分类 加工型操作:操作改变了(操作之前的)结构的值。 引用型操作:不改变值,只是查询或求得结构的值。 总结 2. 数据类型 (1) 数据类型(Data Type) 数据类型:是一个值的集合和定义在这个值集上的一组操作的总称。通常数据类型可以看作是程序设计语言中已实现的数据结构,用来刻划程序操作对象的特性,是高级程序设计语言中的一个基本概念 形式化定义:Data—Type=(D, S, P) D是数据对象,S是D上的关系集,P是对D的基本操作集 数据类型(.续) 从用户角度看:数据类型是一组值的集合和定义在这个值集上的一组操作的总称。 从机器具体实现看:每类数据都有一个值的集合,规定了值在计算机内的表示形式,规定了施加于值集上的一组运算和运算规则。 分类: 原子类型:值不可分解 结构类型:值由若干成分按某种结构组成 例如:C语言中的原子类型int,结构类型数组。 (2) 抽象数据类型 抽象数据类型(Abstract Type简称ADT):是指一个数学模型以及定义在该模型上的一组操作。 任何一个程序设计语言所提供的数据类型从用户角度看都是抽象数据类型。 例如:所有计算机都拥有的“整型”类型。 特点:仅取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关。可以看作是数据的逻辑结构及其在逻辑结构上定义的操作。 抽象数据类型分类 原子类型:属于原子类型的变量值是不可分解的。 例如:整数 固定聚合类型:属于该类型的变量,其值由确定数目的成分按某种结构组成。 例如:复数 可变聚合类型:和固定聚合类型相比,构成可变聚合类型“值”的成分的数目不确定。 例如:矩阵 抽象数据类型的定义 举例:复数的抽象数据类型定义 §1.2 算法和算法分析 1. 算法(Algorithm) 算法:是对特定问题求解步骤的一种描述,是指令的有限序列。 例:欧几里德算法:给定两个正整数M和N,求它们的最大公因子?输入整数M和N,R存放M除N的余数 求余数:R=M/N余数 判断余数:R=0吗?不是,则转到第4步 余数R=0,输出最大公因子N,运算结束 R,N互换数据,返回1,继续循环。 一个算法就是一个有穷规则的集合,规则规定了解决某特定问题的运算序列。 2. 算法的特性 有穷性——算法必须在执行有穷步之后结束,而且每一步都可在有穷时间内完成。 确定性——每条指令无二义性。 可行性——算法中描述的每一操作,都可以通过已经实现的基本运算来实现。 输入——算法有零至多个输入。 输出——算法有一个至多个输出。 3. 算法的描述工具 自然语言 计算机程序语言 类程序语言(例如:类C语言) 其他语言 4. 算法设计的要求 正确性(Correctness) 程序不含语法错误 程序对于几组输入数据能得出满足要求的结果 程序对于精心选择的典型、苛刻的输入数据能够得出满足要求的结果 程序对于一切合法的输入数据都能够得出满足要求的结果。 可读性(Readability) 健

文档评论(0)

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

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

1亿VIP精品文档

相关文档