取款机软件设计情境_选择排序算法程序单元.pptVIP

取款机软件设计情境_选择排序算法程序单元.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
取款机软件设计情境 选择排序算法程序单元(1) 取款机软件设计情境——选择排序算法程序单元(1) 算法概念 问题长度 复杂度函数 算法评估 教学目标 教学目标 了解计算机算法概念 了解算法评估的基本准则与方法 掌握选择排序算法概念 进一步熟悉VC++6.0集成开发环境 取款机软件设计情境——选择排序算法程序单元(1) 教学目标 问题长度 复杂度函数 算法评估 算法概念 一个有穷规则的集合,其中之规则规定了一个解决某一特定类型的问题的运算序列。该集合应具有如下五个特征: (1)有穷性:一个算法必须在执行有穷步之后结束。 (2)确定性:算法的每一步骤必须是确切定义的。 (3)输 入:有0个或多个输入值。 (4)输 出:有1个或多个输出值。 (5)可行性:即可操作性;算法的每一步骤都可以通过顺序、选择、循环等程序控制方式实现之。 取款机软件设计情境——选择排序算法程序单元(1) 教学目标 算法概念 问题长度 复杂度函数 算法评估 了解算法领域中“问题长度”的概念 问题实例长度是指作为该问题的一个实例的输入规模的大小.例如: 排序问题:问题实例长度取决于待排序元素序列的长度n 方阵乘积:问题实例长度是矩阵的阶数(指方阵) 字符串匹配问题:问题实例长度是文本的长度 取款机软件设计情境——选择排序算法程序单元(1) 教学目标 算法概念 问题长度 复杂度函数 算法评估 了解算法领域复杂度函数 算法的比较是根据复杂度函数的渐进性质(Asymptotic Growth Rates)的比较进行的,一般分为最坏情形(Worst Case)、最好情形(Best Case) 和平均情形(Average Case)三种情况进行讨论. 我们用复杂度函数T(n)来表示算法的时间(空间)复杂度,所对应的最坏情形、最好情形和平均情形下的复杂度函数分别为;W(n)、B(n)和A(n). 例如:求n元中最大元算法的复杂度为T(n)=W(n)=B(n)=A(n)=n-1 顺序搜索算法的最坏情形时间复杂度为W(n)=n 取款机软件设计情境——选择排序算法程序单元(1) 教学目标 算法概念 问题长度 复杂度函数 算法评估 了解算法的评估标准 1.正确性:判断一个问题的某一算法是正确的,应以该问题的任意一个实例作为输入,算法都能得到正确的结果作为输出。请同学们通过实际操作判断下面算法程序的正确性。例1: #includeiostream.h templateclass Type void maxmin2(Type L[],int n){ Type MAX=L[0]; Type MIN=L[0]; for(int i=1;in;i++){ if(MAXL[i]) MAX=L[i]; if(MINL[i]) MIN=L[i]; } coutMAX=MAX,MIN=MINendl; return;} void main() { int L[10]; for(int i=0;i10;i++){ coutEnter No i+1 number please:; cinL[i]; } maxmin2(L,10); } 取款机软件设计情境——选择排序算法程序单元(1) 教学目标 算法概念 问题长度 复杂度函数 算法评估 2.时间代价:评估算法的时间代价是算法分析的核心。事实上,计算机的所有应用问题,包括计算机自身的发展,都是围绕“时间——速度”这样一个中心进行的。一般一个好的算法其首要的优点是比同类算法的运行时间代价小。算法的时间代价用算法的时间复杂度(Time Complexity)来度量。 在评价算法时间代价时,需考虑以下因素: (1)用来运行算法的计算机的性能的差别; (2)算法运行的软件平台和描述语言的差别; (3)算法所解的问题是多种多样的; (4)解决同一问题的算法,对不同的实例所花费的时间开销也有很大 的差别。 取款机软件设计情境——选择排序算法程序单元(1) 教学目标 算法概念 问题长度 复杂度函数 算法评估 请同学们通过实际操作比较下面的算法程序与例1在时间代价方面的区别:例2: #includeiostream.h templateclass Type void

文档评论(0)

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

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

1亿VIP精品文档

相关文档