【每日一学】复杂度分析
生活随笔
收集整理的這篇文章主要介紹了
【每日一学】复杂度分析
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 目標(biāo)
- 什么是數(shù)據(jù)結(jié)構(gòu)
- 復(fù)雜度分析
目標(biāo)
- 建立時(shí)間復(fù)雜度、空間復(fù)雜度意識(shí),寫出高質(zhì)量的代碼
- 能夠設(shè)計(jì)基礎(chǔ)架構(gòu)
- 提高編程技能
- 訓(xùn)練邏輯思維
什么是數(shù)據(jù)結(jié)構(gòu)
廣義:一組數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu) | 操作數(shù)據(jù)的一種方法
解決問題:如何更快更省的處理數(shù)據(jù)
量化目標(biāo):復(fù)雜度分析
復(fù)雜度分析
- 測(cè)試結(jié)果非常依賴測(cè)試環(huán)境
- 測(cè)試結(jié)果受數(shù)據(jù)規(guī)模的影響很大
如何分析一段代碼的時(shí)間復(fù)雜度?
- 僅關(guān)心循環(huán)執(zhí)行次數(shù)最多的一段代碼
- 加法法則:總復(fù)雜度 = 量級(jí)最大的那段代碼的復(fù)雜度
- 乘法法則:嵌套代碼的復(fù)雜度 = 嵌套內(nèi)外代碼復(fù)雜度的乘積
時(shí)間復(fù)雜度:
- 常數(shù)O(1):無(wú)循環(huán)、無(wú)遞歸
- 對(duì)數(shù)階O(log n)/O(n log n):歸并排序、快速排序
- O(m+n)、O(m*n):m 和 n 是表示兩個(gè)數(shù)據(jù)規(guī)模
空間復(fù)雜度
- 最好情況時(shí)間復(fù)雜度
理想情況 - 最壞情況時(shí)間復(fù)雜度
最壞情況 - 平均時(shí)間復(fù)雜度
所有情況加權(quán)平均 - 均攤時(shí)間復(fù)雜度
a.絕大部分是低級(jí)別的復(fù)雜度,個(gè)別情況是高級(jí)別復(fù)雜度
b.發(fā)生具有時(shí)序關(guān)系
將個(gè)別高級(jí)別復(fù)雜度均攤到低級(jí)別復(fù)雜度上
基本上均攤結(jié)果就等于低級(jí)別復(fù)雜度。
總結(jié)
以上是生活随笔為你收集整理的【每日一学】复杂度分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [SDK文档]SDK简介
- 下一篇: [HTTP协议]入门篇