ImageVerifierCode 换一换
格式:PPT , 页数:37 ,大小:679KB ,
资源ID:3332074      下载积分:20 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-3332074.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库53630.ppt)为本站会员(dreamzhangning)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

数据库53630.ppt

1、数据结构(c语言版),王 翔 ,程序设计犹如写英语作文,每个人都知道语法句型,但作文质量确有好有坏!,如何写出好程序?,找出解决问题适合的方法来设计程序的流程,采用最简洁的数据的结构来表示程序中的数据和变量,问题举例,如何设计程序的存储结构和算法才能以最快的速度查询出学校内某个学生的成绩单?,课程地位和作用,计算机类专业的基础必修课程 综合体现了学生对编程问题解决的能力和智慧 毕业应聘程序开发职位的必考内容 CDIO实践课程,学习要求,及时复习和预习,及时理解知识 活跃的思维能力和严格的推理过程 注重数据结构和算法的实现方法或流程,掌握部分程序的代码实现过程 大量的手工绘图流程图,良好的C+语

2、言基础,C+语言 + 数据结构 = 问题的解决数组、结构 指针 控制语句循环、条件判断、顺序 最基本的输入输出操作,良好的抽象思维能力,能够针对算法流程图逐一阐述出算法的完整实现流程,关于流程图的介绍,每个流程图都有一个开始标记 每个流程图至少有一个结束标记 程序模块的确定顺序语句 条件分支的画法 如何用“条件分支”来实现“循环”的逻辑推荐画图工具VISIO,第一章 绪论,内容概述,数据结构的相关概念算法及算法复杂度分析,1.1什么是数据结构,计算机加工处理的对象由纯粹的数值发展到字符、图表、图象等各种具有一定结构的数据。 用计算机解决一个具体问题的时候一般有几个步骤: 从具体问题抽象出一个数

3、学模型 设计解决这个模型的算法(找到处理的对象的特性和对象之间的关系) 编程、测试、得到最终解,1.2基本概念和术语(一)P4,数据:对客观事物的符号表示,是所有被计算机程序处理的符号总称(数字、图象、声音、字符串)。 数据元素 :数据的基本单位。由多个数据项组成,数据项是数据的不可分割的最小单位。数据元素可以是单一数据,也可以是一条记录 数据对象:性质相同的数据元素的集合,是数据的一个子集。(整数数据集合、学籍表),1.2基本概念和术语(二),数据结构: 结构是指数据间的关系。 数据结构是指是相互之间存在某种特定关系的数据元素的集合。(模型) 数据结构包括三个方面的内容 数据的逻辑结构 数据

4、的存储结构 数据的运算,一个算法的设计取决于选定的逻辑结构,算法的实现依赖于采用的存储结构,图书馆查询系统,线性关系(一对一),人机对羿,树状关系(一对多),交通灯问题,图状(网状)关系(多对多),数据结构就是一门研究非数值计算的程序设计问题中计算机的操作对象以及他们之间的关系和操作的学科。是计算机专业或相关专业的一门基础学科。P3,如何对博弈问题进行抽象?,1,2,3,4,5,1,2,3,5,4,如何对交通线路图进行抽象?,数据结构的形式化定义:数据结构是一个二元组:Data_Structure (D,R)其中,D是数据元素的有限集,R是D上关系的有限集。,D=学校,系,处,研究机构,教研室

5、,实验室,R=, , , ,1.3数据类型的表示和实现,数据类型:一个值的集合和定义在这个值集上的一组操作的总称。一个高级程序语言的数据类型可分为: 原子型:不可分解 结构类型:由若干分量组成 抽象数据类型(ADT):是指一个数学模型以及定义在该模型上的一组操作。(与逻辑特性有关,与存储、实现无关),1.4算法和算法分析(一),算法的5个重要特性:P13,程序=算法+数据结构,评价一个算法的原则:P14,正确性:要求P14 可读性 健壮性:当输入非法时,能适当做出反映或进行处理 效率与低存储量需求,算法的描述P10-12,算法的描述可以是自然语言、伪语言、框图、类语言完成 条列式:以文字形式来

6、描述步骤 流程图:以图形符号来描述解决问题的方法(仅适合于小问题) 伪码P10-P12:夹杂程序语法和自然语言的形式描述解决问题的方法。 程序语句:程序语法形式描述解决问题的方法,算法的时间复杂度分析,算法执行时间大致上等于其所有语句执行时间的总和, 对于语句的执行时间是指该条语句的执行次数和执行一次所需时间的乘积。 语句频度:该语句在一个算法中重复执行的次数 P15 最佳状况(下限)、最坏状况(上限)(例) 算法的时间复杂度:指程序运行从开始到结束所需要的时间。也是算法中语句总的执行次数T(n)。随n的变化确定数量级,用“O”来表示数量级,记作:T(n)=O(f(n),x=x+1 ; 其时间

7、复杂度为O(1),算法的时间复杂性与输入规模n无关我们称之为常量阶; for (i=1; i= n; i+) x=x+1; 其时间复杂度为O(n), 我们称之为线性阶; for (i=1; i= n; i+)for (j=1; j= n; j+) x=x+1; 其时间复杂度为O(n2), 我们称之为平方阶。 一般地,随n的增大,T(n)的增长较慢的算法为最优的算法。(P16) 对于足够大的n,常用的时间复杂性存在以下顺序: O(1) O(log n ) O(n) O(n*log n ) O(n2) O(n3)O(2n)O(3n)O(n!),2,2,程序步确定方法,关于复杂度数量级的表示方法,O

8、(n) C + O(n) O(n) C * O(n) O(n) O(n) * O(n)顺序语句 C 一重循环 n 多重循环 m*n、m*n*l、 m*n*l*t 条件判断 Max( u, v) (u和v也可能是常数),例: For (i=1;i=n;+i)for (j=1;j=n;+j) cij=0;for (k=1;k=n;+k)cij +=aik*bkj; ,n次,n次,n次,整个算法的执行时间与该基本操作(乘法)重复执行的次数n3成正比,记作T(n)=O(n3 ),对于一个多项式的时间复杂度,只记它最高的幂次。,算法平均时间复杂度:所有可能的输入实例都以等概率的情况出现时,算法的预期运行

9、时间。算法最坏时间复杂度:算法在任何输入实例上运行时间的上界。,算法的时间复杂度不仅仅依赖于问题的规模,还取决于输入实例的初始状态e.g 折半查找法 最好情况:1(x = n/2) 最坏情况:log n一般来说,在普通应用场合中使用折半查找法时,以最坏情况时的复杂度作为该算法的复杂度,2,算法的空间复杂度分析,空间复杂度是指程序运行从开始到结束时所需的最大存储量。(自身运行所需的内存单元、辅助内存单元)记为S(n)=O(f(n),思考: 某程序的时间复杂度为(14n+ n*lgn+ n2 +37),其数量级表示为O(?)有一个程序片段: X = 1000; While( x != 5 )X =

10、 x / 10; 时间复杂度为O(n)对不对? O( lg(n) )呢?,数据的逻辑结构可以看作是从具体问题抽象出来的模型,描述操作对象之间的关系,它与数据的存储方式、位置无关。P5 研究表明:元素之间必是下列四种关系之一: 集合 线性结构(表、栈、队列) 树 图或网状,数据的存储结构:数据元素及其关系在计算机存储器内的表示。P6 顺序存储:借助存储器中的位置来表示数据元素之间的关系。 链式存储:对逻辑上相邻的元素不要求其物理位置相邻,元素间的逻辑关系通过附设的指针字段来表示。 索引存储:建立附加索引表来标识结点地址 。,逻辑结构与存储结构的关系: 存储结构是逻辑关系的映象与元素本身的映象。逻辑结构是数据结构的抽象。 存储结构是逻辑结构的实现,两者综合起来建立了数据元素之间的结构关系。,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报