02 常用資料結構

2022-07-16 02:15:13 字數 965 閱讀 2589

資料 -> 整理分析(演算法 + 資料結構) -> 資訊

(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 所在的結點。於是...