演算法:是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或多個操作
演算法五個基本特性:輸入、輸出、有窮性、確定性和可行性
輸入輸出:演算法具有零個或多個輸入,至少有乙個或多個輸出
有窮性:演算法在執行有限的步驟之後,自動結束而不會出現無限迴圈,並且每個步驟在可接受的時間內完成
確定性:演算法的每一步驟都具有確定的含義,不會出現二義性
可行性:演算法的每一步都必須是可行的,也就是說,每一步都能通過執行有限次數完成
演算法設計的要求:
正確性:指演算法至少應該具有輸入、輸出和加工處理無歧義性、能正確反映問題的需求、能夠得到問題的正確答案
可讀性:演算法設計的另一目的是為了便於閱讀、理解和交流
健壯性:輸入資料不合法時,演算法也能做出相關處理,而不是產生異常或莫名其妙的結果
時間效率高和儲存量低
演算法效率的度量方法
事後統計方法:通過設計好的測試程式和資料,利用計算機計時器對不同演算法編制的程式的執行時間進行比較,從而確定演算法效率的高低
事前分析估算方法:在電腦程式編寫前,依據統計方法對演算法進行估算
演算法時間複雜度:語句執行的總次數 常數階o(1) 線性階o(n) 平方階o(n²) 對數階o(log2n)
MMU要點記錄
下面這個轉換是使用硬體自動完成的 if va 32m then mva va pid 25 else mva va 利用pid將va轉換成不同va,那麼多個程序的mva就能存在於同乙個頁表中,那麼在進行程序轉換時,只需要取不同的頁表就可以了 在實際使用中,程序也確實是小於32m的居多 而如果是大程序...
jsoup要點記錄
例項 屬性名稱查詢 elements attrelements doc.getelementsbyattribute width system.out.println 屬性查詢 for element e attrelements 屬性名稱和屬性值查詢 elements attrvalueeleme...
hiredis要點記錄
hiredis是操作redis的c庫。使用hiredis 的scan遍歷redis中得到列印所有key,將其中屬於hash的key的鍵值對也列印出來,示例 include include include using namespace std int main else return int ind...