【数据结构与算法】三 █算法复杂度█ 一 时间复杂度
来源:互联网 发布:matlab灰色预测算法 编辑:程序博客网 时间:2024/06/07 03:58
【数据结构与算法】三 █算法复杂度█ 一 时间复杂度
上一篇文中提到反转 ,并通过一个小的算法实现了功能,当时的数组长度不到10,那么有几个不同的数组,我们怎么来判断算法在不同数组上所花费的时间与性能优越呢…
一个算法的评价主要从时间复杂度和空间复杂度来考虑。
时间复杂度 T(n)
n称为问题的规模,当n不断变化时,时间频度T(n)也会不断变化。
一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。
我们以上篇中的算法为例进行说明
void reverse(T& array){ int left = 0; int right = getArrayLen(array) - 1; int temp ; while(left < right){ temp = array[left]; array[left] = array[right]; array[right] = temp; left ++; right --; }}
假设 方法体前3行语句 执行用时为2 ms .
假设 n(array)的长度为10 (n=10) 那么while会执行5次, 所以循环次数为 n/2 .
假设 while单次为10ms .
所以 T(n) <= n/2 * 10 + 2 ;
在计算时间复杂度中,通常用 O(n) 表示 .
大O符号 O(n)
在计算机科学中,它在分析算法复杂性的方面非常有用。
最后
通过上面一些简单的讲解,
相信朋友们已经知道其原理及特性了。
本人能力有限,
如发现错误或不合理欢迎指正…
0 0
- 【数据结构与算法】三 █算法复杂度█ 一 时间复杂度
- 数据结构与算法 -- 时间复杂度
- 【数据结构与算法】六 █算法复杂度█ 二 时间复杂度 递归算法
- 数据结构-算法-时间复杂度
- 数据结构之算法与算法时间复杂度
- 算法与数据结构 其一 算法时间复杂度
- 数据结构与算法一:算法复杂度分析
- 算法时间复杂度(一)
- 数据结构与算法____时间复杂度和空间复杂度
- 数据结构与算法笔记之--时间复杂度和空间复杂度
- 数据结构与算法,时间复杂度和空间复杂度
- 数据结构与算法-如何计算时间复杂度
- 常见的数据结构与算法时间复杂度
- 数据结构-算法的时间复杂度
- 数据结构-算法-时间复杂度计算
- 数据结构 算法时间、空间复杂度
- 数据结构-递归算法-时间复杂度
- 数据结构-算法-时间复杂度计算
- 陶哲轩实分析 3.2 节 习题试解
- 回首2015,展望2016
- 8-题目1070:今年的第几天?
- 第十一章 表布局
- git学习笔记
- 【数据结构与算法】三 █算法复杂度█ 一 时间复杂度
- 第十二章 列表和生成元素
- 基础练习 数列特征
- Spring MVC 中的 forward 和 redirect 的简单理解
- 预处理进行调试
- 第十三章 用户界面样式
- AOJ--0033 Ball
- 字符串 HDU 1106 排序
- JQuery学习—JQuery-Validation 使用