算法与数据结构概论.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法与数据结构概论

算法与数据结构 算法的重要性 问题:百元买百笔。钢笔3元一支,圆珠笔2元一支,铅笔5角一支。给出解决方案。 方案1: for( i = 0; i =100; i++) for( j = 0; j =100; j++) for( k= 0; k =100; j++) if(i+j+k==100 3*i+2*j+0.5*k==100) printf(“i=%d,j=%d,k=%d”,i,j,k) 算法的重要性(续) 方案2: for( i = 0; i =20; i++) //在百笔限制下,i最多买20只 for( j = 0; j =34-i; j++) //在百笔限制下,j最多买34只 if(3*i+2*j+(100-i-j) *0.5==100) printf(“i=%dj=%dk=%d”,i,j, 100-i-j); 方案1 内层循环超过100万次,在某机器上运行了50分钟;方案2 的if语句执行525次,运行了2秒钟,相差1500倍。 第一章 概论 1.1 数据结构讨论的范畴 1.2 与数据结构相关的概念 1.3 算法 软件开发的过程: 程序设计的步骤 当我们使用计算机来解决一个具体问题时,一般需要经过下列几个步骤: 问题 抽象 数据结构 算法 程序 数值计算的程序设计问题 非数值计算的程序设计问题 学生信息管理系统 考生录取信息系统 计算机处理的对象是表 元素间的关系是线性关系 用学号标识每个学生记录,这种逻辑关系可以表示为:1,8,8,34,34,20,20,12, 12,26,26,5 施加于对象上的操作有查询、插入、删除等 考生录取信息系统 C/C++语言中,通常采用结构体数组和链表两种方式实现其存储结构。 八皇后问题 国际象棋 Chess 4.6 能预测400000--500000个结点 心里学家认为,人类选手只能预测50步 八皇后问题 计算机处理的对象是树型结构 元素间的关系是层次关系 施加于对象上的操作有查询、插入、删除等 快速送达疫苗 已知五个村子发生了疫情,要将疫苗送达到5个村庄。目标是寻找一条耗时最少的路线。 快速送达疫苗 计算机处理的对象是图 元素间的关系是复杂的图形或网状关系 施加于对象上的操作有查询、插入、删除等 数据结构研究的内容 由以上个例子可见,描述这类非数值计算问题的数学模型不再是数学方程,而是诸如表、树、图之类的数据结构。因此,简单说来,数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作的学科。 基本概念和术语 数据(Data):客观事物在计算机中的符号表示,是能被计算机识别和处理的符号总称。 数据元素(Data Element):数据的基本单位,用于完整地描述一个对象; (也称为:记录,元素,结点,顶点等) 数据项(Data Object):组成数据元素的有特定意义的最小单位 。 基本概念和术语 数据的三个层次 数据 数据元素 数据项 数据对象(Data Object):具有相同特性的数据元素的集合,是数据的一个子集; 基本概念和术语 数据结构:有一个特性相同的数据元素的集合,如果在数据元素之间存在一种或多种特定的关系,则称为一个数据结构。 基本概念和术语 可见,不同的“关系”构成不同的“结构”, “数据结构” 是相互之间存在着某种逻辑关系的数据元素的集合。 形式定义:数据结构是一个二元组Data_Structure =(D,R),其中,D是数据元素的有限集,R是D上关系的有限集。 数据结构的三要素:逻辑结构,存储结构,运算。 逻辑结构的分类 数据的逻辑结构是本质,可以分为: 线性结构和非线性结构也可以分为 集合: 线性结构: 树形结构: 图状结构: 基本概念和术语 存储结构(物理结构)数据结构在计算机中的表示。 顺序存储结构:借助元素在存储器中的相对位置表示数据元素之间的关系。 链式存储结构:借助指示元素存储地址的指针(Pointer)表示数据元素之间的逻辑关系。 物理(存储)结构的分类 物理(存储)结构的分类 顺序存储结构: 链式存储结构: 索引存储结构: 散列存储结构 抽象数据类型 抽象数据类型:(Abstract Data Type)ADT:一个数学模型以及定义在该模型上的一组操作。 抽象数据类型的定义取决于它的一组

文档评论(0)

huayagonga + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档