基本概念和術語
(1) 數據
是描述客觀事物的符號,是計算機中可以操作的對象,是能被計算機識別,並輸入給計算機處理的符號集合。數據不僅僅包括整型、實型等數值類型,還包括字符及聲音、圖像、視頻等非數值類型
(2) 數據對象
是性質相同的數據元素的集合,是數據的子集
(3) 數據元素
- 是組成數據的、有一定意義的基本單位,在計算機中通常作爲整體處理。也被稱爲記錄
- 數據元素纔是數據結構中建立數據模型的着眼點
(4) 數據項
一個數據元素可以由若干個數據項組成。數據項是數據不可分割的最小單位
(5) 關係
2 數據結構
(1) 邏輯結構
A 集合
B 線性結構
C 樹
D 圖
(2) 存儲結構(物理結構)
A 順序存儲結構
排隊佔位。大家都按順序排好,每個人佔一小段空間,大家誰也別插誰的隊
B 鏈式存儲結構
- 把數據元素存放在任意的存儲單元裏,這組存儲單元可以是連續的,也可以是不連續的
- 數據元素的存儲關係並不能反映其邏輯關係,因此需要用一個指針存放數據元素的地址,這樣通過地址就可以找到相關聯數據元素的位置
###(3) 數據的運算
3 常見的時間複雜度所耗時間的大小排列
4 算法的基本概念
算法是解決某個特定問題的一種方法或一個過程,是由若干條指令組成的有窮序列
5 算法評價
(1) 五大特性
有窮性、確定性、可行性、輸入、輸出
(2) 算法設計要求
正確性、可讀性、健壯性、時間與空間效率
6 算法分析
(1) 時間複雜度
(2) 空間複雜度
(3) 大O表示法
O(k層for循環) = O(nk)
O(while) = O(log2n)
7 辨析
(1) 數據 vs 信息
- 信息指含有一定含義的數據,或者說我們人類可以直接理解的內容
- 數據則常指信息的載體,把信息進行轉化以便於保存和處理
(2) 程序 vs 軟件
- 軟件是由程序組成的,他是屬於看的見的東西;程序是一些數字信息,是看不見的
- 程序文件(.exe、.dll等類型文件)是一種可執行的文件;而軟件是讓我們通過他去支配電腦做事情
(3) 數值計算 vs 非數值計算
- 數值型數據指直接使用自然數或度量衡單位進行計量的具體的數值
- 非數值數據處理對象是(如文字、圖像、聲音等)的計算機應用領域。如模式識別、情報檢索、人工智能、數學定理證明、語言翻譯、計算機輔助教學等
(4) 結構化數據 vs 非結構化數據
- 結構化數據即行數據,存儲在數據庫裏,可以用二維表結構來邏輯表達實現的數據
- 非結構化數據即不方便用數據庫二維邏輯表來表現的數據,包括所有格式的辦公文檔、文本、圖片、XML、HTML、各類報表、圖像和音頻/視頻信息等等