時間複雜度O 1 O n 表示什麼

2021-10-07 09:34:20 字數 665 閱讀 9132

在刷面試題中的演算法題經常出現時間複雜度o(n),空間複雜度o(1)很多時候不知道是什麼意思

空間複雜度與時間複雜度是資料結構的複雜度,在現在儲存裝置越來越便宜的時代,時間複雜度是決定程式執行速度的重要因素

演算法時間複雜度是衡量計算效能的指標,反映了程式執行時間隨著輸入規模的增長而增長的量級,很大程度的反映出演算法效能的好壞,這個量級用大寫的o加()表示

從好到壞常用演算法複雜度排序如下

最低複雜程度,使用時間或使用空間與輸入資料大小沒有關係,無論輸入資料多大,使用時間或使用空間不變

雜湊演算法就是典型的常熟級演算法

使用時間或空間隨著輸入資料增大,複雜度增大為log n倍,log n倍是n為2的幾次方的上標值

二分查詢就是對數級演算法

輸入資料增大幾倍,時間或空間增大幾倍

大部分遍歷就是線性級演算法

使用時間或空間隨著輸入資料增大,複雜度增大為nlog n倍,nlog n倍是n為2的幾次方的上標值乘以n

二分查詢就是對數級演算法

輸入資料增大幾倍,時間或空間增大幾的平方倍

氣泡排序就是平方級演算法,不過複雜度是從o(n)->o(n²),氣泡排序在資料錯位數量很小時適用

輸入資料增大幾倍,時間或空間增大幾的立方倍

輸入資料增大幾倍,時間或空間增大2的幾的次方倍

如有錯誤請各位大牛指出,感激不盡

大O表示法 時間複雜度

引入原因 用另乙個 通常更簡單的 函式來描述乙個函式數量級的漸近上界。定義 如果乙個問題的規模是n,解這一問題的某一演算法所需要的時間為t n 它是n的某一函式。t n 稱為這一演算法的 時間複雜度 某個演算法的複雜度到達了這個問題複雜度的下界,那就稱這樣的演算法是最佳演算法 決定演算法複雜度的是執...

大O表示法和時間複雜度

學資料結構和演算法的目的 實現程式的高速執行,那麼必然要了解複雜度。複雜度分為兩個維度 時間 空間。在開發過程中,我們希望時間和記憶體消耗都越少越好,但很多時候無法做到兼顧,需要在時間和空間之間做出取捨已達到最佳狀態。對複雜度的計算一般採用事前分析估算的方法,即大o表示法。接下來讓我們進入複雜度的學...

大O演算法複雜度表示

序言 演算法的時間複雜度和空間複雜度都是用 大o表示法 來表示的。其中o是個常量。常見的排序演算法的時間複雜度 氣泡排序 插入排序 希爾排序 選擇排序的時間複雜度是o n 2 快速排序的時間複雜度是o n log n 空間複雜度 氣泡排序 插入排序 希爾排序 選擇排序的空間複雜度是o 1 快速排序的...