第一章——緒論
1.資料結構的概括
1.1什麼是資料結構
資料生活中資料通常用於描述客觀事物(文字,數字,特定字元)。在計算機中,資料是指所以能輸入到計算機中儲存並被計算機程式處理的符號的集合(聲音,影像,影片等被編碼後)。
資料元素(元素,節點,記錄)是資料的基本單位,在計算機程式中通常將其作為一個整體進行考慮和處理。
資料項(欄位,域,屬性)是構建元素的不可分割的最小單位。
資料物件是資料相同的資料元素集合,是資料的一個子集。
資料結構是相符之間存在一種或者多種特定關係的資料元素的集合,都不是孤立存在的,而是透過某種關係將所以元素聯絡起來。
這裡舉一個例子方便區別這幾個概念,一個班級所有的學生為資料物件,這種由班級構成的關係稱為資料結構,班級裡面單獨的一個學生是資料元素,單獨學生的學生ID,姓名,成績等資訊為資料項。注意,這裡只是狹義的區分,具體還得看計算機儲存的具體資料。
1.2資料的邏輯結構
資料的邏輯結構是從資料元素的邏輯關係上抽象描述資料,通常是問題中提煉出來的。
資料的邏輯關係與資料的儲存無關,是獨立計算機的
資料的邏輯結構可以看成是從具體問題中抽象出來的數學模型
這裡簡單分為集合,線性結構,樹狀結構,圖狀結構
1.3資料的儲存結構
資料的儲存結構是指資料在計算機中的表示方法,是資料的邏輯結構在計算機中的儲存實現。
資料在儲存時包含兩方面——資料的本身及資料元素之間的關係。
順序儲存結構,鏈式儲存結構,索引儲存結構,雜湊儲存結構(具體後面會學,這裡瞭解就好)
2資料型別概述
數字,字串,列表,元組,集合,字典
抽象資料型別(老師說不是很重要)後面可以具體學
3演算法概述
演算法是對特定問題求解步驟的一種描述,它是指令的有限序列。
簡單說就是解決問題的方法,而我們寫的程式碼是這種方法的具體實現。
3.1演算法的重要特性
有窮性:執行有窮步之後截至,每一步都在有窮時間內截至
確定性:每一條指令都有確切含義
可行性:都能執行每一條指令
輸入和輸出
健壯性:當輸入的資料不合法時或者環境改變時,演算法冷恰當地做出反應或者進行處理
還得考慮時間複雜度和空間複雜度