算法(Algorithms)
1.算法(Algorithms):本質(zhì)上是解決數(shù)學(xué)問題的辦法
2.自然語言轉(zhuǎn)計算機語言
3.歐幾里得算法(GCD遞歸):3升桶,5升桶倒騰得一升水
1.問題轉(zhuǎn)化:x * 3+y * 5 = 1
2.最大公約數(shù)GCD:存在整數(shù)x、y,滿足ax+by=gcd(a,b)
3.輾轉(zhuǎn)相除法:被除數(shù)除以余數(shù)直到余數(shù)為0
4.回推計算:從較小問題的解回推到原始問題的解
4.RSA加密:a*x(mod)b = 1
5.二分法:O(logn):主判斷
6.大O記法:算法效率,n:操作數(shù)
7.旅行商算法:O(n!):確保所有可能性中的路程最短
8.遞歸:
1.基線條件:函數(shù)不再調(diào)用自己
2.遞歸條件:調(diào)用自己
9.快速排序:
1.基線條件:
(1):找出基線條件,條件盡可能簡單
(2):不斷縮小問題規(guī)模,直到符合基線條件
2.遞歸條件:
(1)調(diào)用自己,不斷縮小問題規(guī)模
3.分治:選擇基準(zhǔn)值,找出小于基準(zhǔn)值和大于基準(zhǔn)值的子數(shù)組,對子數(shù)組進(jìn)行快速排序
4.歸納證明:證明我能爬到梯子的最上面
(1):基線條件我已經(jīng)站在了第一個橫檔上
(2):遞歸條件我在第二個橫檔上就能爬到第三個橫檔上,不斷調(diào)用自己(有趣)
5.平均(最優(yōu))問題規(guī)模:O(n log n) ?最差問題規(guī)模:O(n2 )
10.合并排序算法:平均(最優(yōu))問題規(guī)模:O(log n) ?最差問題規(guī)模:O(nlog n)
11.散列表:
1.映射一致性:輸入字符串,必須得到一致的數(shù)字
2.字典形式,鍵值對,DNS解析:網(wǎng)址映射到IP地址
3.緩存:網(wǎng)站將數(shù)據(jù)記住,不再重新計算
4.散列沖突:兩個元素映射到了同一個位置,存儲一個鏈表,使用鏈表處理
1.低填裝因子:(散列表元素數(shù)/位置總數(shù))
2.調(diào)整長度:填充因子大于1,元素位置不夠,在散列表中添加位置