# 復雜度分類
1. 時間復雜度
2. 空間復雜度
3. 兩者中以時間復雜度相對重要,因為就 Web 應用而言,我們常見的性能優化策略都是以空間換時間,比如緩存系統就是如此。
# 時間復雜度
## 定義:
時間復雜度表示代碼執行時間隨數據規模增長的變化趨勢。

## 計算時間復雜度
即大O表示法,我們在分析時間復雜度的時候往往遵循以下原則:
1. 只關注循環執行次數最多的一段代碼;
2. 加法法則:總復雜度等于量級最大的那段代碼的復雜度;
3. 乘法法則:嵌套代碼的復雜度等于嵌套內外代碼復雜度的乘積。
> 因此,如果分析某個算法的時間復雜度是 T(n) = O(2n+2) / T(n) = O(2n^2 +2n+3),則公式中的低階、常量、系數三部分都可以忽略,即:T(n) = O(n) / T(n) = O(n^2)。
## 常見時間復雜度

## 時間復雜度細分
時間復雜度里細分起來又有最好、最壞、平均情況時間復雜度之分:
1. 最好情況時間復雜度就是在最理想的情況下,執行這段代碼的時間復雜度;
2. 最壞情況時間復雜度就是在最糟糕的情況下,執行這段代碼的時間復雜度;
3. 平均情況時間復雜度顧名思義就是結合概率論分析從最好到最壞每種情況平均下來的加權平均時間復雜度
- PHP操作集合
- 獲取字符首字母
- PHP實現定時備份MySQL數據庫
- PHP定時發送郵件
- PHP基本語法
- 總結
- 命名空間
- 錯誤抑制符
- 位運算符
- 原碼,反碼,補碼
- traits
- PHP的反射機制
- const和define的區別
- 語法
- 常用的函數
- 1.變量及打印函數
- 2.引入文件
- 3.常量
- 4.錯誤處理
- 5.面向對象
- 數據結構與算法
- 結構
- 數組
- 索引
- 散列表(哈希表)
- 棧
- 隊列
- 鏈表
- 算法
- 排序算法
- 插入排序
- 冒泡排序
- 選擇排序
- 歸并排序
- 快速排序
- 查找算法
- 二分查找
- 二分查找變形版本1:查詢數據在序列中第一次出現
- 哈希算法
- 算法復雜度
- Smarty模板引擎
- composer
- yaf
- yaf的安裝配置
- 其它
- Java
- JavaSE
- 1.Java發展及JDK安裝配置
- 2.Eclipse的下載及安裝
- 3.Java開發基礎
- 虛擬機
- 2.編輯虛擬機設置
- 1.虛擬機下安裝centos
- 3.安裝vmtools
- Linux
- 1.vi和vim編輯器
- 2.開機、重啟和用戶登錄注銷
- 3.用戶管理
- 4.用戶組管理
- 5.用戶和組的相關文件
- 6.linux運行級別
- 7.幫助指令
- 8.文件目錄類指令
- 9.時間日期類
- 10.搜索查找類
- 11.壓縮和解壓縮
- 12.組管理和權限管理(難點,重點)
- 虛擬主機的配置
- phpstudy快捷配置
- 配置文件配置
- PHP面向對象高級特性
- SPL標準庫(PHP標準庫)
- PHP鏈式操作的實現
- 面向對象編程的基本原則
- 設計模式
- 基本的設計模式