資料 -> 整理分析(演算法 + 資料結構) -> 資訊
(1) 基本資料型別(primitive data type):或稱標量資料型別(scalar data type)。整數、浮點數、布林、字元。
(2) 結構化資料型別(structured data type):也稱虛擬資料型別(virtual data type)。字串、陣列、指標、列表、檔案等。
(3) 抽象資料型別(abstract data type):堆疊等。
圖形結構
樹形結構描述節點間「層次」關係
圖形結構討論兩個頂點間」是否連通「
加權圖 ——「網路」
雜湊表雜湊表是一種儲存記錄的連續記憶體,通過雜湊函式的應用,可以快速訪問與查詢資料。
雜湊法就是將本身鍵值,通過特定的數學函式運算或應用其他的方法,轉換成相對應的資料儲存位址。
slot(槽):每乙個記錄中可能包含好幾個字段,而 slot 指的就是桶中的字段。
溢位:運算後的資料所對應到的 bucket 已滿。
雜湊表:儲存記錄的連續記憶體。一種類似資料表的索引**,可分為 n 個 bucket,每個 bucket 又可分為 m 個 slot。
同義詞(synonym):兩個識別符號 i1 和 i2 經過雜湊函式運算後所得的數值相同,即 f(i1) = f(i2),就稱 i1 和 i2 對於 f 這個雜湊函式是同義詞。
載入密度(loading factor):識別符號的使用數量除以雜湊表內槽的總數
α(載入密度)= n(識別符號的使用數目)/ [ s(每個桶內的槽數)* b(桶的數目)]
α 值越大,表示雜湊空間的使用率越高,碰撞或溢位的概率也越高。
完美雜湊(perfect hashing):沒有發生碰撞和溢位的雜湊函式。
原則:降低碰撞和移除的產生
雜湊函式不宜過於複雜,越容易計算越好
盡量把文字鍵值轉換成數字鍵值,方便計算
設計的雜湊函式計算得到的值,均勻的分布在每乙個桶中
資料結構 資料結構與演算法02
1 演算法設計的原則 設計演算法時,通常應考慮達到以下目標 1,正確性 2,可讀性 3,健壯性 4,高效率與低儲存量需求 1,正確性 規格說明 四個層次 a,程式中不含語法錯誤 b,程式對於幾組輸入資料能夠得出滿足要求的結果 c,程式對精心選擇的 典型 苛刻切帶有刁難性的幾組輸入資料能夠得出滿足要求...
資料結構 02演算法簡介
一 資料結構與演算法的關係 雖然本門課程叫 資料結構 但經常會講到演算法,以及它們之間的關係。在市面上也經常有諸如 資料結構與演算法分析 這樣名字的書。實際上,資料結構與演算法是依存關係。只談資料結構而拋棄演算法,則資料是 死 的,沒有活力的 只談演算法而拋棄資料結 構,則演算法無法有所依賴的操作物...
資料結構 單鏈表02
將線性表l a 0 a 1 a n 1 中各元素分布在儲存器的不同儲存塊,稱為結點,通過位址或指標建立它們 之間的聯絡,所得到的儲存結構為鍊錶結構。表中元素a i 的結點形式如圖所示。其中,結點的data域存放資料元素a i 而next域是乙個指標,指向a i 的直接後繼a i 1 所在的結點。於是...