程序的设计概述.pptVIP

  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文档。上传文档
查看更多
可维护性 表示方法的一致性 面向对象程序设计方法学的优点 3.面向对象程序设计方法学的基本概念 (1)对象 概念:在现实世界中,对象指的是任何一个实体。它可能是一个人、一部车。 对象的组成: 7.1.3 面向对象程序设计 对象的属性 对象名 对象的方法 用来标识对象 是实体所具有的性质(外形与状态)。 是实体所拥有的行为。 (2)消息 概念:对象之间进行通信的一种构成叫做消息。 消息传递 :当一个消息发送给某个对象时,包含要求接收对象去执行某些活动的信息。接收到信息的对象经过解释,然后予以响应。这种通信机制叫做消息传递。发送消息的对象不需要知道接收消息的对象如何响应该请求。 面向对象程序设计方法学的基本概念 (3)类 概念:类是对象的抽象。 (4)继承 概念:继承是父类和子类之间共享数据和方法的机制 。可以在一个已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容 。 面向对象程序设计方法学的基本概念 继承的分类 单重继承: 多重继承: 子类只从一个父类得到继承 子类从多个父类得到继承 面向对象程序设计方法学的基本概念 (5)多态性 概念:同样的消息被不同的对象接受时可导致完全不同的行动,该现象称为多态性。 多态性的作用:多态性机制不仅增加了面向对象软件系统的灵活性,进一步减少了信息冗余,而且显著地提高了软件的可重用性和可扩充性。 面向对象程序设计方法学的基本概念 7.2 算法概述 7.2.1 算法的基本概念 1.算法的基本概念 算法是指解题方案的准确而完整的描述,并且具有下列特性: (1)有穷性:一个算法必须在执行有穷步骤之后结束,且每一步都可在有穷时间内完成。 算法的特性 (2)确定性:算法的每一步必须是确切定义的,不能有歧义。 (3)可行性:算法应该是可行的。 (4)输入:一个算法有零个或多个输入。 (5)输出:一个算法有一个或多个输出。 7.2.1 算法的基本概念 2.算法的基本要素 对数据对象的运算和操作 算法的控制结构 算术运算、 逻辑运算、 关系运算、 数据传输 算法中各操作之间的执行顺序 7.2.1 算法的基本概念 3.算法设计的要求 正确性 可读性 健壮性 效率 评价一个算法优劣的主要标准是算法的执行效率和存储需求。算法的执行效率指的是时间复杂度(Time Complexity),存储需求指的是空间复杂度(Space Complexity)。 7.2.1 算法的复杂度 7.2.2 算法的复杂度 1.算法的时间复杂度 概念 算法的时间复杂度是指执行算法所需要的计算工作量。因为基本运算反映了算法运算的主要特征,因而可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。 算法的时间复杂度 算法的工作量计算公式 算法的工作量=f(n) 其中n是问题的规模 两个n阶矩阵相乘所需的基本运算(即两个实数的乘法)次数为n3,即计算工作量为n3,也就是时间复杂度为n3。 算法的时间复杂度 注意事项 在同一个问题规模下,如果算法执行所需的基本运算次数取决于某一特定输入时,可以用平均性态和最坏情况复杂性方法来分析算法的工作量。 算法的时间复杂度 平均性态 平均性态分析是指用各种特定输入下的基本运算次数的加权平均值来度量算法的工作量。 在长度为n的一维数组中查找值为x的元素,若采用顺序搜索法,在平均情况下需要检查数组中一半的元素。 算法的时间复杂度 最坏情况分析 最坏情况分析是指在规模为n时,算法所执行的基本运算的最大次数。 在长度为n的一维数组中查找值为x的元素,若采用顺序搜索法,在最坏情况下最坏情况需查找n次。 7.2.2 算法的复杂度 2.算法的空间复杂度 一个算法的空间复杂度一般是指执行这个算法所需要的内存空间。包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。 其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间。 例 题 【例7.1】讨论用选择法对数组中n个整数按由小到大排序的时间复杂度。 1.选择法: 先将n个数中最小的数与a[0]对换,再将a[1]到a[n-1]中最小的数与a[1]对换……每比较一轮,找出一个未经排序的数中最小的一个,共比较n?1轮。 2.算法: (1)从键盘输入n个数,并将其存储在一个有n个元素的整型数组a中。 (2)进行选择排序: ① int i=0;//每一轮比较起始元素的下标 int k=0;//每一轮比较得到的最小元素的下标 ② 通过循环求出a[i]~a[n]中最小数的下标k

文档评论(0)

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

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

1亿VIP精品文档

相关文档