時間復雜度,算法的時間復雜度是一個**函數**,它**定性**描述該**算法**的**運行時間**。這是一個代表算法輸入值的字符串的長度的函數。時間復雜度常用大O符號表述。

(圖片資料源自網絡,這張圖不用去背,只需要腦海里有一個大小關系就OK了)
下面的代碼,時間復雜度即為O(1),因為只執行了一次
```
let i = 0
i += 1
```
下面這段代碼的復雜度為 O(n),因為執行了N次
```
for( let i =0; i<n;i++){
//todo
}
```
注意時間復雜度的計算,不計算常數的相加,但要計算常數的 次方或開方,因為相加的話,N足夠大 就可以忽略不計,比如下面
因為n足夠大 1就可以忽略不計 ,包括常數 O(2n) + O(n) = O(n)

但是 O(n) * O(n) = O(n2)

又比如下面代碼中n每次翻一倍,其實就是求開方,復雜度為 O(logN),

- 前言
- 工作中的一些記錄
- 破解快手直播間的webSocket的連接
- 快手「反」反爬蟲的研究記錄
- HTML AND CSS
- 遇到的一些還行的css筆試題
- css常見面試題
- JavaScript 深度剖析
- ES6到ESNext新特性
- 關于http與緩存
- 關于頁面性能
- 關于瀏覽器的重排(reflow、layout)與重繪
- 手寫函數節流
- 手寫promise
- 手寫函數防抖
- 手寫圖片懶加載
- 手寫jsonp
- 手寫深拷貝
- 手寫new
- 數據結構和算法
- 前言
- 時間復雜度
- 棧
- 隊列
- 集合
- 字典
- 鏈表
- 樹
- 圖
- 堆
- 排序
- 搜索
- Webpack
- Webpack原理與實踐
- Vue
- Vuejs的Virtual Dom的源碼實現
- minVue
- Vuex實現原理
- 一道關于diff算法的面試題
- Vue2源碼筆記:源碼目錄設計
- vue-router源碼分析(v4.x)
- React及周邊
- 深入理解redux(一步步實現一個 redux)
- React常見面試題匯總
- Taro、小程序等
- TypeScript
- CI/CD
- docker踩坑筆記
- jenkins
- 最后