时间空间复杂度

时间空间复杂度

时间

时间复杂度为,一个算法流程中,常数操作数量的指标,这个 指标叫做O,big O。具体为,如果常数操作数量的表达式中, 只要高阶项,不要低阶项,也不要高阶项系数之后,剩下的部 分记为f(N),那么该算法的时间复杂度为O(f(N))
1. 遍历:N * C = O(N)
2. 选择排序:N * C + (N-1)C + … + C = (N+N-1+…) * C = (an2+b*n+k)*C=O(N2)
3. 有序数组中查找一个数 :二分法 O(logN) 默认以2为底
4. 有序A,长n,有序B,长m,查找相同的数
* 一个一个比较 O(n * m)
* 二分查找 O(n * log(m))
* 谁小谁右移,相同都右移 O(n + m) AB无重

空间

input和output不算 应算额外空间复杂度

  将一堆数排为size左 size右
  若需要额外辅助数组 需要空间N
  若不需12345 67 -> 54321 76 ->6712345  O(1)

最优解

先满足时间复杂度最优的情况下,使用最小的空间

发布了2 篇原创文章 · 获赞 0 · 访问量 87

猜你喜欢

转载自blog.csdn.net/weixin_44916431/article/details/104017461