计算机算法设计与分析-(精品·课件).pptVIP

  • 15
  • 0
  • 约1.26万字
  • 约 87页
  • 2018-10-14 发布于广西
  • 举报
本课程在教学体系中的位置 理直气壮 垂头丧气 自然语言存在二义性,比如“苹果” 比如冒泡排序 = 不是相等的意思,而仅是一个符号,含义是“表示为” 。 数学上数值计算的含义,算法分析中的含义; PC机,PC server,小型机、大型机 同一算法不同输入的比较;同一输入,不同算法的比较; * (5)算术运算 O(f(n)) ? O(g(n)) ? O(max{f(n), g(n)}) ; O(f(n)) ? O(g(n)) ? O(f(n)?g(n)) ; O(f(n)) ? O(g(n)) ? O(f(n)?g(n)) ; O(cf(n)) ? O(f(n)) ; f(n) ? O(g(n)) ? O(f(n)) ? O(g(n)) ? O(g(n)) 。 ?、? 也有类似性质,证明方法类似。 渐近表示函数的若干性质 * 数学基础 (1)常用的整数求和公式 通式 * 算法渐近复杂性分析中常用函数 (2)单调函数 单调递增:m ? n ? f(m) ? f(n) ; 单调递减:m ? n ? f(m) ? f(n); 严格单调递增:m ? n ? f(m) ? f(n); 严格单调递减:m ? n ? f(m) ? f(n). (3)取整函数 ? x ? :不大于x的最大整数; ? 2.5 ? ?2 ? 2 ? ? 2 ? x ? :不小于x的最小整数。 ? 2.5 ? ? 3 ? 2? ? 2 * 取整函数的若干性质 x?1 ? ? x ? ? x ? ? x ? ? x ? 1; ? n/2 ? ? ? n/2 ? ? n; 对于n ? 0,a, b?0,有: ? ? n?a ??b ? ? ? n?ab ? ; ? ? n?a ??b ? ? ? n?ab ? ; ? a?b ? ? (a?(b ? 1))?b; ? a?b ? ? (a ? (b ? 1))?b; f(x) ? ? x ? , g(x) ? ? x ? 为单调递增函数。 * (4)多项式函数 p(n)? a0 ? a1n ? a2n2 ? ??adnd; ad?0; p(n) ? ?(nd); p(n) ? O(nk) ? p(n)多项式有界; p(n) ? O(1) ? p(n) ? c; * 指数函数一些性质 对于正整数m, n和实数a ? 0: a0?1; a1 ? a ; a-1 ? 1/a ; (am)n ? amn ; (am)n ? (an)m ; aman ? am+n ; a ? 1 ? an为单调递增函数; a ? 1 ? ? nb ? o(an) * ex ? 1+x; |x| ?1 ? 1?x ? ex ? 1 ? x ? x2 ; ex ? 1 ? x ? ?(x2), as x?0; * log n ? log2n; lg n ? log10n; ln n ? logen; logkn ? (log n)k; log log n ? log(log n); for a?0, b?0, c?0 (5)对数函数 * * |x| ?1 ? for x? ?1, for any a ? 0, , ? logbn ? O(na) * (6)阶乘函数 Stirling’s approximation * * 一些数学证明方法 直接证明:P?Q 间接证明: 反证法 举反例 数学归纳法: 初始归纳:i?1 结论成立; 归纳假设:若i?n?1时成立; 归纳证明:证明i?n时成立。 * 时空分布图 事后测试是在对算法进行设计、确认、事前分析和调试之后要做的工作,与所用计算机密切相关。 以时间分布图为例,要求 时钟及其精确度 操作系统的工作方式 处理噪声 增加输入规模 增加执行次数 时空分布图的做法 用途 比较同一问题的不同算法 对算法改进前后进行比较 * 主要内容 2.1 算法 2.2 分析算法及数学基础 2.3 用SPARKS语言写算法 2.4 基本数据结构 * 2.3 用SPARKS语言写算法 SPARKS语言的基本数据类型: 整型(integer), 实型(real), 布尔型(boolean), 字符型(char) SPARKS语言的变量命名规则: 以字母开头,不允许使用特殊字符,

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档