关于算法复杂度的分析与算法奇偶交换
来源:互联网 发布:macbook air 屏幕优化 编辑:程序博客网 时间:2024/06/06 18:16
首先,寻找算法复杂度有三步⑴ 找出算法中的基本语句;
算法中执行次数最多的那条语句就是基本语句,通常是最内层循环的循环体。
⑵ 计算基本语句的执行次数的数量级;
只需计算基本语句执行次数的数量级,这就意味着只要保证基本语句执行次数的函数中的最高次幂正确即可,可以忽略所有低次幂和最高次幂的系数。这样能够简化算法分析,并且使注意力集中在最重要的一点上:增长率。
⑶ 用大Ο记号表示算法的时间性能。
将基本语句执行次数的数量级放入大Ο记号中。一般来说,只要算法中不存在循环语句,其时间复杂度就是Ο(1)。Ο(log2n)、Ο(n)、Ο(nlog2n)、Ο(n2)和Ο(n3)称为多项式时间,而Ο(2n)和Ο(n!)称为指数时间。计算机科学家普遍认为前者是有效算法,把这类问题称为P类问题,而把后者称为NP问题。
原作者http://blog.csdn.net/xingqisan/article/details/3206303
0 0
- 关于算法复杂度的分析与算法奇偶交换
- 算法的复杂度分析
- 数据挖掘算法的空间复杂度与时间复杂度分析
- 算法时间复杂度与空间复杂度分析
- 算法分析与时间复杂度
- 数据结构与算法一:算法复杂度分析
- 递归算法的复杂度分析
- 算法的时间复杂度分析
- 算法的时间复杂度分析
- 算法的时间复杂度分析
- 算法的时间复杂度分析
- 分析算法的时间复杂度
- 关于算法的时间复杂度
- 关于算法的时间复杂度
- 关于算法的时间复杂度
- 算法的时间复杂度与空间复杂度
- 【数据结构与算法】复杂度度量与分析
- 桶排序与带循环的算法时间复杂度分析
- 泛型,反射,公共dao层的使用
- 【转】有限状态机问题编程实践
- Codeforces 625B【KMP】
- Spring笔记(第五弹:Spring MVC工程集成Mybatis)
- 女科学家吴健雄
- 关于算法复杂度的分析与算法奇偶交换
- 最大k乘积
- 文件上传利器SWFUpload入门简易教程
- 幸运的中奖者AOJ493
- Android中的进程间通信(IPC机制)
- 在用vmware安装ubuntu的时候由于分辨率问题,界面显示不全解决办法
- sparkstreaming输入测试(网络端口数据)
- LeetCode 145. Binary Tree Postorder Traversal
- 欢迎使用CSDN-markdown编辑器