《算法设计与分析基础》Chapt 2 算法效率分析基础
2.1 分析框架
2.1.1 输入规模的度量
- 大多数情况,以输入数n
- 矩阵,维数
- 数值算法,数字的比特数
2.1.2 运行时间的度量单位
- 找出算法中最重要的操作,即基本操作
- 计算他们的运行次数
2.1.3 增长次数
logn n nlogn n2 n3 2n n!
2.1.4 算法的最优、最差和平均效率
- 最优效率
- 最差效率
- 平均效率
- 摊销效率
2.2 渐进符号和基本效率类型
2.2.1 介绍Ο,Ω,Θ
Ο (g(n))是增长次数小于等于g(n)的函数集合
Ω (g(n))是增长次数大于等于g(n)的函数集合
Θ(g(n))是增长次数等于g(n)的函数集合
2.2.2 符号Ο
2.2.5 渐进符号的有用特性
2.2.6 利用极限比较增长次数
前两种情况:
后两种情况:
第二种情况:
2.2.7 基本的效率类型
2.3 非递归算法的数学分析
分析非递归算法效率的通用方案:
- 决定用哪个(些)参数作为输入规模的度量
- 找出算法的基本操作(作为一个规律,它总是位于算法的最内层循环)
- 检查基本操作的执行次数是否只依赖输入规模。如它还依赖一些其他的特性,如输入顺序等,则最差效率、平均效率以及最优效率需要分别研究。
- 建立一个算法基本操作执行次数的求和表达式
- 利用求和运算的标准公式和法则来建立一个操作次数的闭合公式,或至少确定它的增长次数。
求和运算的两个基本规则:
两个常见求和公式:
2.4 递归算法的数学分析
用递推式的形式来表达基本操作次数
- 决定用那些参数作为输入规模的度量
- 找出算法的基本操作
- 检查一下,对于相同规模的不同输入,基本操作的执行次数是否不同。如果不同,则必须对最差效率、平均效率以及最优效率作单独研究
- 对于算法基本操作的执行次数,建立一个递推关系以及相应的初始条件
- 解这个递推式,或者至少确定它的解的增长次数
转载于:https://www.cnblogs.com/chio/archive/2007/11/06/951064.html
《算法设计与分析基础》Chapt 2 算法效率分析基础相关推荐
- linux算法设计,嵌入式Linux平台下随机序列算法设计.doc
嵌入式Linux平台下随机序列算法设计 嵌入式Linux平台下随机序列算法设计 [摘 要]本文以多媒体播放器的随机不重复播放机能为切入点,针对嵌入式平台实时性要求高,处理速度不够快,但系统存储歌曲量大 ...
- WebGIS空间寻径算法设计(车辆自驾导航算法)
[size=large][b]一.路网空间模型设计[/b][/size] 采用有向连通图模型对路网建模 [list] [*]A.以道路交叉点作为路网的连通图节点 [*]B.以从A路点到B路点的单向通路 ...
- 【算法设计技巧】贪婪算法与回溯算法
贪婪算法 在前面的文章中已经见到了3个贪婪算法(greedy algorithm):Dijkstra 算法.Prim 算法和 Kruskal 算法.贪婪算法分阶段地工作.在每个阶段,可以认为所作决定是 ...
- 算法设计原则验证实验报告_算法设计与分析实验报告 统计数字问题
一 . 实验要求 1 .掌握算法的计算复杂性概念. 2 .掌握算法渐近复杂性的数学表述. 3 .掌握用 C++ 语言描述算法的方法. 4 .实现具体的编程与上机实验,验证算法的时间复杂性函数. 二 . ...
- 计算机思维与算法设计论文,计算思维_计算机算法的表示和设计.pptx
计算思维;1.一般问题处理过程与计算机处理问题过程区别2.算法的表示3.变量及其赋值4.顺序结构算法5.选择结构/分支结构6.循环结构7.简单算法;一般问题处理过程与计算机处理问题过程有何不同呢?;1 ...
- 算法设计:双相机高斯建模算法优化
问题描述: 1.当人体靠近背景时,由于深度值接近,两者极容易融合在一起,难于分辨,导致检测不出人形 2.使用一次建模,发现双相机中建模效果不好,背景没有完全去除 3.去除背景后,距离较远的人形不太完整 ...
- 程振波 算法设计与分析_算法设计与分析
本书按照教育部*制定的计算机科学与技术专业规范的教学大纲编写,努力与国际计算机学科的教学要求接轨.强调 算法 与 数据结构 之间密不可分的联系,因而强调融数据类型与定义在该类型上的运算于一体的抽象数据 ...
- 【算法设计zxd】第一章 算法基础 4.设计工具【三角矩阵,】
目录 1. 循环设计 (1) 设计思维 自底向上的设计(Down - Top Design) 自顶向下的设计(Top-Down Design) (2)挖掘内在规律构建计算模型 [例1-3]设计算法,输 ...
- 华南师范大学陈卫东算法设计与分析研究生考试复习资料
最近要考试搜索了一下,发现网上并没有该复习资料.本来打算直接CSDN上传文件算了,结果设置免费想要下载还是要做任务,给我整无语了,这一点都不开源,因此把这份资料放在GitHub上供大家自由获取. ...
- 循环赛日程表非递归Java_王晓东《算法设计与分析》课件.ppt
<王晓东<算法设计与分析>课件.ppt>由会员分享,可在线阅读,更多相关<王晓东<算法设计与分析>课件.ppt(356页珍藏版)>请在人人文库网上搜索. ...
最新文章
- Spring学习总结(6)——Spring之核心容器bean
- 上次谁说要简历模板来着?来!
- hdu 5077 NAND(打表)2014 Asia regional 鞍山站 H题
- spring boot应用启动原理分析
- Touchpad Synaptics 触摸板(中文) [zt]
- SharePoint 数据库管理-PowerShell
- map,multimap,unordered_map,unordered_multimap的详解
- 随机模拟_随机模拟可帮助您掌握统计概念
- 【转】Android加密算法:AES、Base64加密算法
- 清华计算机系上热搜!近9成优秀毕业生放弃留学,前50名41人留校深造
- hadoop是什么_Hadoop精华问答 | hadoop能干什么?
- pass the URL parameters from the webseite page to Flash
- 卫星移动通信系统的分类
- Hash算法原理的简单分析
- kubernetes Downward API
- 直接创建框架协议、合同
- 冒险岛2虚拟机 显示服务器连接失败怎么办 显示TP解决方法
- Android surfaceview 自定义相机 拍照(闪光灯、前后摄像头)
- Python和Matlab生成图片到visio的矢量图
- linux 获取当前工作路径
热门文章
- 深刻理解Java多态
- XShell中浏览文件时上拉下拉
- php离开界面监听,js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)...
- 强化学习总结(3-4)——无模型的价值函数的预测,蒙特卡洛和TD时序差分方法
- mongoose Warning:Server Discovery and Monitoring engine is deprecated
- Python 之 新手安装详解 、安装目录说明 及 修改pip默认包安装位置
- c语言加减法采用32位运算,单片机C语言求平方根
- vmlite linux版本,vmlite 安装 xp mode及xp、win7、linux的虚拟磁盘到d盘的方法
- 轮询没有收到的可能性_轮询(Polling)是什么?
- Openwrt中ppp拨号总结