数据结构与算法2016-06-02
2016-06-03 18:43
218 查看
1. 一个算法的时间复杂度是指该算法的运行时间与问题规模的对应关系。一个算法是由控制结构和原操作构成的,其执行的时间取决于二者的综合效果。为了便于比较同一问题的不同算法,通常把算法中基本操作重复执行的次数(频度)作为算法的时间复杂度。算法中的基本操作一般是指算法中最深层循环内的语句,因此,算法中基本操作语句的频度是问题规模n的某个函数f(n),记作T(n)=O(f(n))。
如果一个算法没有循环语句,则算法中基本操作的执行频度与问题规模n无关,记作O(1),也称为常数阶。如果算法只有一个一重循环,则算法的基本操作的执行频度与问题规模n呈线性增长关系,记作O(n),也叫线性阶。常用的还有平方阶O(n^2),立方阶O(n^3)、对数阶等。
如果一个算法没有循环语句,则算法中基本操作的执行频度与问题规模n无关,记作O(1),也称为常数阶。如果算法只有一个一重循环,则算法的基本操作的执行频度与问题规模n呈线性增长关系,记作O(n),也叫线性阶。常用的还有平方阶O(n^2),立方阶O(n^3)、对数阶等。
相关文章推荐
- 数据结构与算法2016-06-03
- 【数据结构】HashSet原理及实现学习总结
- Linux中存储管理使用的数据结构和函数
- 【数据结构】搜索二叉树的(递归与非递归)实现,包括:增Insert,删Remove,查Find
- 数据结构--堆栈
- 排序算法(2)-快速排序
- codeforces-3A-Shortest path of the king( 棋盘最短路径 + 贪心 )
- 【数据结构】HashMap原理及实现学习总结
- 树和二叉树自测题
- 03 Linux内核中几个重要数据结构
- HDFS源码分析心跳汇报之数据结构初始化
- Python 学习笔记 3 数据结构(3.2序列)
- 常用数据结构增删查时间复杂度
- Python 学习笔记 3 数据结构(3.1简要介绍)
- 排序算法——堆排序
- 北航面试之数据结构知识要点
- POJ2155 Matrix(二维线段树)
- php学习笔记数组与数据结构1(数组)
- 经典算法之冒泡排序算法(三种实现)
- Hive 中的复合数据结构简介以及一些函数的用法说明