[考研筆記] 991資料結構C語言最終總結
前言
今天是2021年12月20日,距離考研還有5天。根據之前做的教材習題、歷年真題以及去年的全真模擬,最後再進行一次綜合性總結;
大部分內容提煉至[考研筆記] 資料結構、1.1 C 語言基礎、1.2 C 語言進階、1.4.3 指標與引用;
文章基本是給自己看的,結構就會比較雜亂了。
目錄
1 資料結構真題分析
2 資料結構知識點
3 C 語言真題分析
4 C 語言知識點
5 其他
[考研筆記] 991 資料結構 C 語言最終總結
1 資料結構真題分析
2 資料結構知識點
2.1 基本概念類
2.1.1 資料結構基礎
邏輯結構:是資料元素之間所存在的邏輯關係;
物理結構:是資料結構在計算機中的儲存方式(映像);
兩者關係:邏輯結構獨立於儲存結構;物理結構是邏輯結構的映像;
2.1.2 線性表系列
線性表:是具有相同資料型別的 n 個數據元素的有限序列;
順序表:是線性表的順序儲存結構,用一組地址連續的儲存單元儲存資料;
連結串列:是線性表的鏈式儲存結構,用一組任意的儲存單元儲存資料;
棧:是一種運算受限的線性表,只允許在一端進行插入或刪除操作;
佇列:是一種運算受限的線性表,只允許在一端插入、另一端刪除;
2.1.3 樹系列
二叉樹:是度不大於 2 的有序樹,即每個結點至多 2 棵子樹,且有左右之分;
線索二叉樹:
二叉排序樹
哈夫曼樹:
2.1.4 圖系列
完全圖
連通類
最小生成樹
拓撲排序
關鍵路徑
2.1.5 查詢
順序檔案
(2021)索引檔案
B- 樹
B+ 樹
雜湊檔案
2.1.6 排序
插入排序:
希爾排序:
氣泡排序:
(2021)快速排序:
選擇排序:
堆積排序:
歸併排序:
2.2 性質類
順序表是一種隨機存取的結構,儲存密度大;
迴圈佇列 單向雙向佇列
最適合做佇列的連結串列結構是單向迴圈連結串列;
更適合做佇列的連結串列結構是帶頭指標、尾指標的單向連結串列;
迴圈佇列不會出現假溢位情況;
雜湊查詢效率取決於:雜湊函式的定義、衝突的處理方法、裝填因子(/ 表長)
2.3 方法論
雜湊函式構造:
衝突處理方法:
2.4 比較類
順序儲存與鏈式儲存:
順序儲存與一維陣列:
相同點:使用連續地址儲存,支援隨機存取;
不同點:陣列只能存取元素;線性表長度可變;
資料結構基礎專項
儲存結構分類:順序儲存、鏈式儲存、索引儲存、雜湊儲存;
資料結構三要素:邏輯結構、儲存結構、演算法(定義+實現);
演算法五大特性:有窮性、確定性、有效性、輸入、輸出;
好的演算法的目標:正確性、可讀性、健壯性、效率、低儲存量需求;
檔案的物理結構:
排序專項
時間複雜度:
空間複雜度:
穩定性:
2.5 其他
卡特蘭數
3 C 語言真題分析
4 C 語言知識點
常考運算子優先順序:
高優先順序:
();->;前自增自減;
!;定址;取址;後自增自減;
中優先順序:
加減乘除;左移右移;比較運算子;
低優先順序:
與;異或;或;邏輯和;邏輯或;
最低優先順序:
逗號。
共用體:
全域性變數和區域性變數
作用域與生命期
儲存類別
函式引數
函式資料傳遞:
檔案
標頭檔案 巨集定義
預處理指令:
指標:
指標陣列/函式本質是陣列/函式,宣告時不用括號;
陣列/函式指標本質是指標,宣告時需要括號;
指標與陣列:
常考知識:
字元陣列不能被直接賦值,必須使用 strcmp;
主函式引數:
5 其他
void swap(int &a, int &b) { a ^= b ^= a ^= b;
關於 2021 991真題:
很大區別於往年(2020年真題未知),無論是資料結構還是 C 語言,綜合題中都出現大量需要寫程式碼的題,並且出題不像往年那麼死板;
資料結構的簡答題連考了 4 道概念題(邏輯物理結構、哈夫曼樹、雜湊查詢、快速排序),不知道是否為一種趨勢;
選擇題、設計題沒有太大變化。