為了平時複習時方便,把每一章需要掌握的內容記錄在此,這樣濃縮的看,也好在腦子裡面形成比較系統的思維導圖。
佇列
雙端佇列的特點
特殊矩陣的壓縮儲存
樹與森林
樹與二叉樹的應用
本章多以選擇題的形式考查,但也會涉及樹遍歷相關的演算法題。樹和二叉樹的性質,遍歷,轉換,儲存結構和操作特性等。滿二叉樹,完全二叉樹,線索二叉樹,哈夫曼樹的定義和性質,二叉排序樹和二叉平衡排序樹的性質和操作等,都是選擇題必然涉及的內容
圖的遍歷
圖的相關應用
應該掌握圖的基本概念,圖的儲存結構及其特性,儲存結構之間的轉化,基於儲存結構上的遍歷操作和各種應用(拓撲排序,最小生成樹,最短路徑和關鍵路徑)等
圖的相關演算法較多,易混,但通常只要掌握其基本思想和實現步驟(能動手模擬),而演算法的具體實現不是重點
查詢的基本概念
順序查詢法
分塊查詢法
折半查詢法
b樹及其基本操作,b+樹的基本概念
雜湊表雜湊函式的:把乙個查詢表中的關鍵字對映成該關鍵字對應的位址的函式
雜湊表:根據雜湊表而直接進行訪問的資料結構
同義詞:發生衝突的不同的關鍵字叫做同義詞
雜湊函式的構造方法:
雜湊函式的定義域必須包含需要儲存的關鍵字
雜湊函式計算出來的位址應該能夠等概率,均勻的分布在整個位址空間
雜湊函式應該盡量簡單,能夠在短時間內可以被計算出來
常見的雜湊函式:
直接定址法:直接去關鍵字的某個線性數值為雜湊位址,雜湊函式為h(k
ey)=
a∗ke
y+bh(key)=a*key+b
h(key)
=a∗k
ey+b
,其中a,b都是常數。這種計算方法比較簡單,並且不會產生衝突。
有點:適合關鍵字分布基本連續的情況
缺點:當關鍵字不連續時,產生較多的空缺,浪費空間
除留餘數法:這是一種,最簡單,最常用的方法。假定雜湊表的長度為m,取乙個不大於m,但最接近或等於m的質數,利用下面的公式把關鍵字轉換成雜湊表位址,
h (k
ey)=
keyh(key)=key%p
h(key)
=key
。除留餘數法的關鍵是選好p,使得每個關鍵字通過該函式轉換後等概率的對映到雜湊表空間的任一位址,從而盡可能的減少衝突。
數字分析法
平方取中法
摺疊法處理衝突的方法
開放位址法
概念:是指可存放新表項的空閒位址既向它的同義詞開放,又向他的非同義詞開放。
h i=
(h(k
ey)+
di)h_i=(h(key)+d_i)%m
hi=(h
(key
)+di
),i=0,1,2,3,……,k(k<=m-1);m為雜湊表表長,d
id_i
di為增量序列
如何計算增量序列:
平方探測法:即di=
02,1
2,−1
2,22
,−22
....
,k2,
−k2d_i=0^2,1^2,-1^2,2^2,-2^2....,k^2,-k^2
di=02
,12,
−12,
22,−
22..
..,k
2,−k
2,其中k<=m2/;
再雜湊法:di=
i∗ha
sh2(
key)
d_i=i*hash2(key)
di=i∗
hash
2(ke
y),當發生衝突時再呼叫乙個雜湊函式去對映
偽隨機法:di=
偽隨機序
列d_i=偽隨機序列
di=偽隨
機序列開放定址法的缺點:對於刪除乙個已經在雜湊表中的元素不友好,刪除乙個元素可能會導致某些元素失去索引
拉鍊法
拉鍊法適用於經常進行插入和刪除的情況
填裝因子
概念:一般記為α
\alpha
α,表示表的裝滿程度
α =表
中記錄數
n雜湊表
長度m\alpha=\frac
α=雜湊表長
度m表中
記錄數n
雜湊表的平均查詢長度依賴於雜湊表的填裝因子
查詢演算法的分析應用
本章是考研的重點。對於雜湊查詢,應該掌握雜湊表的構造,衝突處理方法(各種方法處理過程)、查詢成功和查詢失敗的平均查詢長度,雜湊表查詢的特徵和效能分析。對於折半查詢,應該掌握這般查詢的過程,構造判定樹,分析平均查詢長度。b樹和b+樹是本章的難點。對於b樹,考研大綱要求掌握插入,刪除和查詢的操作過程。對於b+樹,僅要求掌握基本概念和性質
以上內容參考王道資料結構
《資料結構》大綱目錄
資料結構 考試大綱 資料結構是電腦科學與技術及相關學科的重要基礎,要求考生系統地理解資料結構的基本概念,掌握各種資料結構的定義和實現演算法。要求考生具有抽象思維能力,邏輯推理能力,和綜合運用所學的知識分析問題和解決問題的能力。一 緒論 1.資料結構的基本概念,資料的邏輯結構 儲存結構。2.演算法的定...
資料結構和演算法大綱
演算法的評價指標 什麼是資料結構?資料 關係 資料邏輯結構 關係 集合 線性結構 樹結構圖結構或網狀結構 儲存結構順序儲存結構 鏈式儲存結構 索引儲存方法 雜湊儲存方法 資料型別原子型別 結構型別 演算法的時間複雜度t n o f n 演算法的空間複雜度 s n o f n 線性表順序表 陣列arr...
408資料結構綜合題
資料結構綜合應用題 問題 鍵盤輸入n個英文本母,輸入格式為n c1 c2 cn,其中n表示字母的個數。請程式設計以這些輸入資料建立乙個單鏈表,並要求將字母不重複的存入鍊錶 輸入乙個單詞,掃瞄其在鍊錶中是否出現,如果出現,就什麼 都不做 否則,根據這個單詞構造結點插入鍊錶中。答案 void creat...