最近和一些同事聊天時,發現自己對基礎知識越來越模糊了。索性就重新找出已經長滿灰塵的教科書,這些書在我大學畢業時沒捨得賣掉,一直留着的,希望到時能建立一個大大的書櫥,只是現在每天上班,幾乎沒時間搭理這些;況且住的地方又是按期租的不到30平米的地兒,哪有空間讓我放個大書架啊!於是也就把這事給擱置了。言歸正傳:
1.什麼是數據結構
就是按照某種邏輯關係組織起來的一組數據元素,按一定的存儲方式存儲於計算機中,並在其上定義了一個運算的集合。
2.什麼是邏輯結構
它是數據元素與數據元素之間的邏輯關係。
它有以下4類:集合、線性結構、樹形結構、圖形結構;
3.什麼是存儲結構
是數據在計算機中的存儲表示,也稱物理結構。包括以下4種基本存儲結構:
優點 缺點
順序存儲結構 節省存儲空間,能隨機訪問 不便於運算操作
鏈式存儲結構 便於運算操作 存儲空間利用率低,不能隨機訪問
索引存儲結構 不錯的隨機訪問,不錯的運算效率 爲索引表增加了時間和空間開銷
散列存儲結構 查找速度快 需要好的散列函數和處理“衝突”辦法
4.什麼是算法
算法是對特定問題求解步驟的一種描述,它是指令的有限序列,其每條指令表示一個或多個操作。它有以下5個特徵:
a.有窮性、b.確定性、c.可行性、d.輸入性、e.輸出性
5.算法分析
時間複雜度、空間複雜度;
一般情況下,鑑於運算空間較爲充足,所以算法把時間複雜度作爲分析重點;
一般以基本運算的頻度來分析算法的時間複雜度,記住以下關係:
1<log2^n<n<nlog2^n<n^2<n^3<2^n
待續---》