1. 程式人生 > 其它 >[考研筆記] 991資料結構C語言最終總結

[考研筆記] 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 道概念題(邏輯物理結構、哈夫曼樹、雜湊查詢、快速排序),不知道是否為一種趨勢;

選擇題、設計題沒有太大變化。