时间复杂度概念
1个回答
展开全部
用时间复杂度、空间复杂度校验一个程序写的好坏。
给定两个函数 f(n) 和 g(n),如果存在一个整数 N ,使得对于所有的 n>N ,f(n)总是比g(n)大,那么,我们说 f(n)的增长渐近快于g(n)。
比如:当 n 的值变得非常大的时候,3n+1 已经没法和 2n 2 的结果相比较,最终结果几乎可以忽略不计。
于是我们得出这样一个结论:判断一个算法的效率时,函数中的常数项和其他次项长可以忽略,更应该关注主项(最高项)的阶数。
常数阶 O(1) 、线性阶 O(n)、平方阶 O(n 2 )、对数阶 O(logn)、nlogn阶 O(nlogn)、立方阶 O(n 3 )、指数阶 O(2 2 )
O(1) < O(logn) < O(n) < O(nlogn) < O(n 2 ) < O(n 3 ) < O(2 n ) < O(n!) < O(n n )
必记的四个:插入排序、堆排序、归并排序、快速排序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询