主页 > 电脑硬件  > 

Day225/2/15SAT

Day225/2/15SAT

【一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解(马士兵)】 .bilibili /video/BV13g41157hK?p=4&vd_source=04ee94ad3f2168d7d5252c857a2bf358

目录

2、认识O(NlogN)的排序

2.1 master公式

2.1.1 公式适用情况

举例1【符合mast公式】

举例2:【符合mast公式】

举例3:【不符合mast公式】

2.1.2 计算时间复杂度


笔记:

2、认识O(NlogN)的排序 2.1 master公式

T(N) = a*T(N/b) + O(N^d)

N是母问题的规模。

N/b是指每个子问题的规模都是等量的。

a是子问题的调用次数。

O(N^d)是剩下的过程的时间复杂度。

2.1.1 公式适用情况

只适用于所有子问题的数据规模都相同的情况。

举例1【符合mast公式】

数据量为N时,二分查找有序数组的最大值,求它的时间复杂度。

得到:T(N)=2*T(N/2) + O(1),符合master公式

举例2:【符合mast公式】

数据量为N时,将数据分为3等份并各自二分查找最大值,比较后返回最大值,求它的时间复杂度。

得到:T(N) = 3*T( N/3 ) +O(1),符合master公式

举例3:【不符合mast公式】

数据量为N时,将数据分为1/3和2/3,分别二分查找求最大值,求它的时间复杂度。

得到:T(N) = T(N/3) + T(2N/3) + O(1),不符合master公式,原因是子问题的数据规模不同,一个规模为N/3,另一个为2N/3。

2.1.2 计算时间复杂度

若log(b,a) > d,复杂度为O( N^log(b,a) )

若log(b,a) = d,复杂度为O( N^d * logN )

若log(b,a) < d,复杂度为O( N^d )

标签:

Day225/2/15SAT由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Day225/2/15SAT