大部分記錄均來自小灰漫畫算法
-
什么是算法
- 數(shù)學(xué)領(lǐng)域:算法表示解決某一類問題的公式和思想。
- 計算機領(lǐng)域:本質(zhì)是一系列程序指令,用于解決特定的運算和邏輯問題。
衡量一個算法好壞的標準主要依靠:時間復(fù)雜度和空間復(fù)雜度。
什么是數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)的組織、管理和存儲形式;主要用于高效的訪問和修改數(shù)據(jù)。
主要有:線性結(jié)構(gòu)(數(shù)組,鏈表)、樹、圖(多對多關(guān)系)什么是時間復(fù)雜度
衡量一個算法的執(zhí)行時間長度。(相對空間復(fù)雜度更加重要一點)
推導(dǎo)過程:
① 運行時間是常量。則用1表示;
② 只保留時間函數(shù)中的最高階項(當(dāng)前函數(shù)最高次冪);
③ 最高階項存在,則省去前面的系數(shù)。
常見的事件復(fù)雜度從低到高排列:
O(1)、O(logn)、O(n)、O(nlogn)、O(n2)什么是空間復(fù)雜度
執(zhí)行算法的空間成本。