tip:數(shù)據(jù)結(jié)構(gòu)與算法的關(guān)系是相互依賴不可分割的
- 定義:算法是解決特定問(wèn)題求解步驟的描述,在計(jì)算機(jī)中為指令的有限序列,并且每條指令代表一個(gè)或多個(gè)操作第焰。
- 特性:有窮性浓体、確定性攒菠、可行性寇僧、輸入亚情、輸出
- 設(shè)計(jì)要求:正確性(首先要有正確的結(jié)果,不正確要這算法何用!!)妄痪、可讀性(不要幾天后只有機(jī)器懂得這個(gè)算法,其他人甚至自己都不知道這算法是干啥的)、健壯性(具有處理特殊情況的能力,不要給輕易的崩潰掉)楞件、高效率和低存儲(chǔ)量需求(時(shí)間復(fù)雜度和空間復(fù)雜度)
- 量度方法: 事后統(tǒng)計(jì)(不科學(xué)不準(zhǔn)確)衫生、事前分析估算
- 時(shí)間復(fù)雜度所耗時(shí)間大小排列:
O(1) < O(logn) < O(n) < O(nlogn) < O(n2) < O(n3) < O(2^n) < O(n!) < O(n^n)