在學習簡單的資料結構之前我們得了解一下資料結構的一些基本概念:
一、邏輯結構
集合:資料元素間除「同屬於乙個集合」外,無其他關係
線性結構:乙個對乙個,如線性表,棧,佇列
樹形結構;乙個對多個,如樹
圖形結構:多個對多個,如圖
二、物理結構
物理結構也稱儲存結構,是資料的邏輯結構在計算機儲存內的表示(或映像)。
索引儲存結構:索引儲存由索引表和節點組成的,索引表中是由節點的索引項組成。
索引項一般為節點的關鍵字,位址。
分類:如果每個節點都在索引表中有索引項,該索引表叫做稠密索引。
如果是一組節點在索引表中對應乙個索引項,該索引表為稀疏索引。
按照關鍵字繼續查詢的叫做倒排索引,帶有倒排索引的檔案成為倒排檔案,
搜尋引擎中最常用的方法就是倒排索引。
雜湊儲存結構(雜湊儲存):它是由雜湊演算法對資料加工之後產生的雜湊值來對該節點
的資料進行標記,從而通過標記來快速找到相應的資料。
這裡要說一說雜湊演算法:
md4:它適用於32位字長的處理器上用高速軟體來實現-它是基於32位操作
數的位操作來實現的。
md5:是md4的增強版,它對輸入仍以512位分組,其輸出是4個32位字的
級聯與md4相同。md5比md4複雜,但是更加安全,在抗分析和抗
差分方面表現更好。
sha-1:對於長度小於2的64次方的輸入,產生長度為160bit的雜湊值,因此
抗窮舉性更好。sha-1設計是基於和md4相同的原理,並且模仿了改
演算法。應用:檔案校驗,數字簽名,鑑權協議。
資料結構的一些api(即增,刪,改,除)的設計是基於資料結構本身的邏輯結構,但是其在具體
實現上卻是基於資料結構的儲存結構。
歡迎各位指出不足之處
資料結構基礎之串
串 串是由零個或多個字元組成的有限序列,又叫字串 string 串中的字元數目n稱為串的長度,零個字元的串稱為空串 null string 它的長度為零,可以直接用 表示。一些概念 空格串,是只包含空格的串。主要注意它與空串的區別,空格串是有內容長度的,而且可以不止乙個空格。子串與主串,串中任意個數...
資料結構基礎之樹
樹 1,一些基本概念 樹是n個結點的有限集,n 0時稱為空樹。在任意一棵非空樹中 有而且只有乙個特定的稱為根 root 的結點 當n 1時,其餘結點為m個互相不交的有限集,其中每乙個集合又是一棵樹,並且成為根的子樹。結點的分類 結點擁有的子樹稱為結點的度,度為0的結點稱為葉結點或終端結點 度不為0的...
資料結構基礎之串
串是由零個或多個字元組成的有限序列,可以認為是由字元組成的線性表 基本操作如下 define maxlen 80 typedef struct seqstring void strassign seqstring s,char cstr s length i int strempty seqstri...