【算法】时间复杂度/运行时间——大O表示法
對于所有算法,我們都要討論其運行時間。一般而言,應(yīng)該選擇效率最高的算法,以最大程度地減少運行時間或占用空間。
大O表示法 是一種特殊的表示法,指出了算法的速度有多快。大O表示法 并不能表示具體算法任務(wù)運行的時間,這也沒有意義,因為任務(wù)量總是在變。我們需要知道運行時間如何隨任務(wù)量增長而增長,這正是大O法的用武之地。大O法表示指出了算法有多快。例如,假設(shè)列表包含n個元素。簡單查找需要檢查每個元素,因此需要執(zhí)行n次操作。使用大O表示法,這個運行時間表示為O(n)。并沒有時間單位s,這是因為大O法指的并非以秒為單位的速度。大O表示法讓你能夠比較操作次數(shù),它指出了算法運行時間的增速。如果換用二分法檢查長為n的列表,二分查找需要執(zhí)行l(wèi)og n次操作。使用大O表示法這個的運行時間則為O(log n)。
大O表示法 指出了最糟糕情況下的運行時間。假設(shè)你在使用簡單查找電話簿中的人,查找Adit時,一次就找到了,這是最佳的情形,但大O表示法說的是最糟糕的情形。因此,你可以說,在最糟糕的的情況下,必須查看電話簿中的每一個條目,對應(yīng)的運行時間為O(n)。這是一個保證——你知道簡單查找的運行時間不可能超過O(n)。另外,除了最糟糕情況下的運行時間,還應(yīng)考慮平均情況的運行時間,這也很重要。
下面按從快到慢的順序列出經(jīng)常會遇到的5種大O運行時間:
- O(l
總結(jié)
以上是生活随笔為你收集整理的【算法】时间复杂度/运行时间——大O表示法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 火车头按照关键词采集文章的平台有哪些?亲
- 下一篇: beyond compare 2 中文乱