数据结构与算法分析-全套PPT课件.pptx

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

数据结构与算法分析

新视角

前言Chapter0DatastructuresandAlgorithms

从新视角来看待旧问题,需要有创造性的思维,这标志着科学的真正进步。——爱因斯坦

数据结构与其他课程的关系4Web信息处理人工智能数据库操作系统编译原理图形图像算法分析与设计数据结构计算复杂性理论概率统计计算概论集合与图论

教学内容1绪论3运算特殊的线性表——栈和队列4内容特殊的线性表——字符串和多维数组2结点逻辑关系为线性的结构——线性表5结点逻辑关系分层次的非线性结构——树7数据的处理方法——排序技术8数据的处理方法——索引与查找技术6结点逻辑关系任意的非线性结构——图9经典算法

绪论Chapter1DataStructuresandAlgorithmAnalysis

主要内容数据结构的概念算法设计的基本要求从时间和空间角度分析算法效率的方法

学习目标了解数据结构课程的意义掌握数据结构的概念掌握算法设计与程序设计的步骤掌握算法效率的分析评价方法

1.1CONTENTS从编程说起程序要处理的数据1.21.3数据结构的引入1.4数据结构的要素1.5如何设计算法如何评价算法的优劣1.61.7算法性能的事前分析方法1.8算法性能的综合考量

1.1CONTENTS从编程说起程序要处理的数据1.21.3数据结构的引入1.4数据结构的要素1.5如何设计算法如何评价算法的优劣1.61.7算法性能的事前分析方法1.8算法性能的综合考量

1.1从编程说起

程序的公式表达12算法+数据结构=程序尼古拉斯·沃斯NiklausWirth1934年2月15日——算法是处理问题的策略,数据结构是描述问题信息的数据模型,程序则是计算机按照处理问题的策略处理问题信息的一组指令集

计算机解决问题的过程13

14程序的开发程序解题软件工程具体工作建模型需求分析阶段提取问题要完成的功能;分析问题涉及的数据对象,找出数据对象之间的关系。设计设计阶段数据结构设计、软件的结构设计、算法设计编程编码阶段编写程序代码验证测试软件测试与调试

1.1CONTENTS从编程说起程序要处理的数据1.21.3数据结构的引入1.4数据结构的要素1.5如何设计算法如何评价算法的优劣1.61.7算法性能的事前分析方法1.8算法性能的综合考量

1.2程序要处理的数据

17数值与非数值问题数值计算非数值计算数值计算,具体地说就是有效利用计算机求解数学问题近似解的方法与过程,可以通过抽象出合适的数学模型,然后设计相应的算法来解决。数值计算问题,以浮点算术运算为主,算法成熟所谓“非数值计算”问题,是为了区分前面提到的“数值问题”而言。非数值问题涉及到的数据及数据间的相互关系,一般无法用数学公式、方程等来描述,如排序问题、检索问题等,需要另外设计数据的描述方法和相应的算法来处理。

18从下面的无限序列中计算出π的值。输出一个表格,在该表格中显示根据这个序列中的1项、2项、3项等等所得的近似π值。在第一次得到3.14之前,必须使用这个序列的多少项?如果是得到3.141呢?3.1415呢?3.14159呢?数值问题的例子通用公式数据对象数据间关系数据初始化建模型m=1;i=1-1偶数1奇数m取值i取值项数:当前已经用到的项数i系数:控制序列项的正负号m4+(-1)*m*4/(2*i+1)例

19算法顶部伪代码描述赋初值:累加和x=4;m=1;项数i=1;根据通用公式,x做循环累加直到x=3.14时中断循环输出x及i值;算法细化描述累加和x=4;m=1;i=1;dox=x+(-1)*m*4/(2*i+1)i增加1;m=m*(-1)直到x=3.14时中断循环输出x及i值;设计数值问题的例子

20数值问题的例子voidmain(){floatx=4;inti=1,m=1;while(1){ x=x+(float)(-1)*m*4/(2*i+1); i++; m=m*(-1); if(x=3.14-0.000001x=3.14+0.000001)break;} printf(i=%d,x=%f\n,i,x);}编程

要求对任意给出的一个姓名,查找电话号码非数值问题例子1——电话号码查询客户姓名电话身份证号地址张1138*****6101131980******李2152*****6101131981******王1139*****6101131990******张2139*****6101131972******李1188*****6101131976******………表关键字数据项关键字关键字是能唯一标识

文档评论(0)

粱州牧 + 关注
实名认证
内容提供者

资料收集自互联网,若有侵权请联系删除,谢谢~

版权声明书
用户编号:8036120077000004

1亿VIP精品文档

相关文档