“逻辑结构”和.PPT

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

IsZero(x) : if (x==0) 返回True Boolean else 返回False Add (x, y) : if (x+y=MaxInt)返回 x+y NaturalNumber else 返回MaxInt Subtract (x, y) : if (x y) 返回 0 NaturalNumber else 返回 x - y Equal (x, y) : if (x==y) 返回True Boolean else 返回 False Successor (x) : if (x==MaxInt) 返回 x NaturalNumber else 返回 x+1 end NaturalNumber * 面向对象的概念 面向对象 = 对象+类+继承+通信 面向对象方法中类的定义充分体现了抽象数据类型的思想 §1.3 作为ADT的C++类 * C++的函数特征 C++的数据声明 C++的作用域 C++的类 C++的对象 C++的输入/输出 C++的函数 C++的参数传递 C++的函数名重载和操作符重载 C++的动态存储分配 友元(friend)函数 内联(inline)函数 结构(struct)与类 联合(Union)与类 用C++语言描述面向对象程序 * Nicklaus Wirth (1984年Turing Award) 为计算机处理问题编制的一组指令集 处理问题的策略 问题的数学模型 §1.4 算法定义 算法 + 数据结构 = 程序 (Algorithms + Data Structures = Programs) * 算法的描述 常用的算法的描述方式: 自然语言 流程图 特定的表示算法的图形 符号 算法描述 伪语言 包括程序设计语言的三 大基本结构及自然语 言的一种语言 类语言 类似高级语言的语言, 例如,类PASCAL 类C语言 有输入 有0个或多个输入 有输出 有一个或多个输出(处理结果) 确定性 每步定义都是确切、无歧义的 有穷性 算法应在执行有穷步后结束 有效性 每一条运算应足够基本 一个算法必须满足以下五个重要特性: * void selectSort (int a[ ], const int n ) { //按非递减顺序对n个关键码 //a[0]~a[n-1]排序 for ( int i = n -1; i 0; i-- ) { int j = MaxKey (a, 0, i); if ( j != i ) swap (j, i); } } * int MaxKey (int a[ ], const int low, const int high) { //查找数组a[low]~a[high]中 //的最大值,函数返回其位置 int max = low; for (int k = low+1, k = high, k++) if ( a[max] a[k] ) max = k; return max; } * §1.5 算法性能分析与度量 算法的性能标准: 正确性 可使用性 可读性 效率 健壮性 * 算法的效率包括时间代价和空间代价,前者指的是算法执行时间;后者指的是算法执行过程中所需的最大存储空间。两者都与问题的规模有关。 * 算法效率的衡量方法: 后期测试 事前估计 * 算法的后期测试 在算法中的某些部位插装时间函数 time ( ) 测定算法完成某一功能所花费的时间 * 算法的事前估计 算法的复杂性度

文档评论(0)

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

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

1亿VIP精品文档

相关文档