演算法定義:演算法是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或者多個操作。
演算法的五個基本特性:輸入,輸出,有序性,確定性,可行性
演算法設計的要求:正確性,可讀性,健壯性,時間效率高和儲存量低
演算法效率的度量方法
函式的漸進增長
結論:判斷某一演算法的效率時,函式中的常熟和其他次要項常常可以忽略,而應該關注主項(最高端項)的階數。
演算法時間複雜度
- 定義:在進行演算法分析時,語句總的執行次數t(n)是關於問題規模n的函式,進行分析t(n)隨著n的變化確定t(n)的數量級。演算法的時間複雜度也就是演算法的時間量度。記作:t(n) =o(f(n))。它隨問題規模n的增大,演算法執行時間的增長率和f(n)的增長率相同,稱作演算法的漸進時間度,簡稱時間複雜度。其中f(n)是問題規模n的某個函式。
- 推導大o階的方法
其中:o(1)為常數階,o(n)為線性階,o(n^2)為平方階……
常見的時間複雜度所耗費的時間大小從小到大依次是:
·最壞情況與平均情況
演算法空間複雜度
-演算法的空間複雜度通過計算演算法所需要的儲存空間實現,演算法空間複雜度的計算公式記作:s(n) =o(f(n)),其中n為問題規模,f(n)為語句關於n所佔儲存空間的函式
第二章 知識點
使用window物件可以實現彈出視窗,關閉當前視窗,彈出頁面訊息框等效果 使用data物件可以獲得當前系統的日期,時間 使用定時函式與data 物件可以製作時鐘特效 使用history和location物件的相關屬性和方法可以實現瀏覽器的後退和前進,重新整理等功能 doument物件的getelem...
第二章知識點
修改表名 alter table student rename to tb student 修改資料表的欄位名 alter table tb student change name st name varchar 25 修改資料表字段的型別 alter table tb student modify...
大話資料結構第二章學習筆記
演算法 資料結構與演算法的關係 演算法是什麼?指令的有限序列,每條指令表示乙個或多個操作。演算法能輸入輸出,能自動結束不會無限迴圈,而且每乙個步驟在可接受的時間內完成。好的演算法什麼正確可讀健壯都不算什麼,最重要的是時間效率高和儲存量低。怎麼衡量演算法的效率啊?事前分析估算的方法 時間取決於演算法採...