《算法和复杂度》PPT课件.ppt
《《算法和复杂度》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《算法和复杂度》PPT课件.ppt(24页珍藏版)》请在三一办公上搜索。
1、1.3-1.4 算法和算法分析,算法和复杂度,2,算法:是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。,一个算法通常具有五个重要特性:,有穷性 有限步结束,确定性 唯一执行路径(无歧义),可行性 可以通过基本运算实现(理论上能够由人用纸和笔完成),输入 零个或多个输入,输出 一个或多个输出,Al Khwarizmi(阿勒.霍瓦里松)首次提出算法概念,十分强调求解问题有条理的步骤。这是算法亘古不变的核心。,1.3.1 算 法 的 概 念,算法和复杂度,3,算法和数据结构是两个不可分割的统一体,程序=数据结构+算法,数据结构通过算法实现操作,算法根据数据结构
2、设计程序,注意:不要把算法和计算机程序等同起来,后者只是描述前者的手段之一,我们还可以用流程图、形式语言与自动机甚至自然语言描述一个算法。,算法和复杂度,4,算法设计的要求:,正确性 正确反映需求(通过测试),可读性 有助于理解、调试和维护,健壮性 完备的异常和出错处理,高效率与低存储的需求 时间、空间的要求,算法和复杂度,5,1.3.2 算 法 设 计,算法设计与分析是计算机科学的核心问题。常用的算法设计方法有:穷举法将问题空间中的所有求解对象一一列举出来,逐一分析、处理,并验证结果是否满足给定的条件。(例:C+switch语句)回溯法将问题的候选解按某种顺序逐一枚举和检验,来寻找一个满足预
3、定条件的解。当发现当前候选解不可能是解时,就退回到上一步重新选择下一个候选解(回溯)。(例:八皇后、迷宫、深度优先搜索),算法和复杂度,6,分治法和递归法遇到一个难以直接解决的大问题时,将其分割成一些规模较小的子问题,以便各个击破,分而治之,然后把各个子问题的解合并起来,得出整个问题的解。(例:快速排序、归并排序、二分检索等)贪心法和动态规划法贪心法的基本思想是从问题的初始状态出发,依据某种贪心标准,通过若干次的贪心选择而得出局部最优解,寄希望于局部的最优解构建最终的全局最优解。(Prim和Kruskal算法、Dijkstra算法)动态规划是一种将问题实例分解为更小的、相似的子问题,并存储子问
4、题的解而避免计算重复的子问题,以解决最优化问题的算法策略。动态规划法和分治法相似?区别?(例:Floyd算法、矩阵连乘积),算法和复杂度,7,1.4 算法 分 析,算法效率的衡量方法1事后统计利用计算机内记时功能。缺点:必须先运行依据算法编制的程序;所得时间统计量依赖于硬件、软件等环境因素,掩盖算法本身的优劣,算法和复杂度,8,1.4 算法 分 析,算法效率的衡量方法2事前分析估计一个高级语言程序在计算机上运行所消耗的时间取决于:依据的算法选用何种策略问题的规模程序语言编译程序产生机器代码质量机器执行指令速度时间复杂度和空间复杂度,算法和复杂度,9,算法的时间度量,从算法中选取一种对于研究的问
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法和复杂度 算法 复杂度 PPT 课件

链接地址:https://www.31ppt.com/p-5588745.html