数据结构心得1:时间复杂度
最近要考数据结构了,整理一波心得当作复习吧。时间复杂度这个概念对于一些同学来说,还是有一些难度的,那我就讲一讲的认识的时间复杂度吧。
本文主要分为以下三个部分:
1.时间复杂度
2.时间复杂度计算举例
3.几种排序算法的时间复杂度
1.时间复杂度
什么是时间复杂度?比如说,现在有一个算法,你想评价它运算需要耗费的时间,这个时候上机跑一遍肯定不太实际,而且不同的机器跑的速度也会不一样,所以为了去评价算法运算的时间,就引出了时间复杂度的概念。
1)时间频度
算法需要花费的时间,和它语句执行的次数是成正比例的,因此把一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。
2)时间复杂度
在上面提到的时间频度T(n)中,n是指算法的规模,n不断的变化,T(n)就会不断的变化,为了衡量T(n)随n的变化规律,引入了时间复杂度的概念。
什么是时间复杂度,从数学的角度给出定义:算法中某个函数有n次基本操作重复执行,用T(n)表示,现在有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度(我们都学过高数,我