Big O Notation

2018-10-13  本文已影响32人  池塘男孩_sunrise

概述

主要总结面试蛋糕中用来表达算法复杂读的O的相关知识和心得。
网页地址:https://www.interviewcake.com/article/python/big-o-notation-time-and-space-complexity?section=algorithmic-thinking&course=fc1

基础知识

其他注意点

Space complexity(空间复杂性):the final frontier(最后的边界)

有时候,对于花费更短时间,我们更希望使用更少的存储空间。讨论空间复杂和上面讨论时间复杂很相似,都是相对于输入而言。
当我们讨论空间复杂性时,一般讨论的是额外增加的空间;对于输入占用不考虑。
时间复杂性和空间复杂性,在设计算法时,应进行权衡利弊。

Big O analysis is awesome expect it is not(Big O分析很棒,除了它不是)

使用Big O分析时,也要注意如下几点,并不是严格的按照上面的注意点而行,需进行甄别。

  1. Big O强调忽略常量,但常量有时也很重要(可以达到很好的优化效果);
  2. 注意避免过早优化
    有时优化时间或空间对可读性或编码时间有负面影响,对于一些初创或代码开发初期,编写易于快速发布和易读的代码更为重要,尽管运行时间不及预期。

共勉

一个伟大的工程师,知道如何在运行时,空间,实现时间,可维护性和可读性之间取得适当平衡。
您应该发展技能以查看时间和空间优化,以及判断这些优化是否值得的智慧。

上一篇 下一篇

猜你喜欢

热点阅读