考研計算機資料結構(個人筆記) 第1章 緒論

2021-10-06 14:08:20 字數 1991 閱讀 7058

為了考研過程中方便總結看書和聽課的記錄,決定將一些內容敲成部落格以供自己複習和使用,僅供參考。

✅考研中只需寫出乙個或多個可以解決問題的有著清楚介面描述的函式即可。

下面展示乙個例子

//1

#include

#define ******

using

namespace std;

//2void

reverse

(int a,***)

//4void

rcr(

int r[

],***xx)

//3int

main()

考研中為了**簡潔,其中:

第1部分可以省略,為了節省考試時間且保持試卷整潔,包括變數的定義也可以在必要處增加注釋即可。

第3部分是主函式的部分,這一部分呼叫定義的函式,也可以省去。

//介面是使用者和函式打交道的地方,通過介面,只要輸入資料就可以得到想要的結果

因此上述**,只要寫出自己的函式說明(第2部分)與介面(第4)寫清楚即可

✅補充一點:在使用for迴圈和if判斷語句時,若接下來的執行語句只有一句,為了**簡潔,就不使用{}。

下面展示乙個在順序表中插入資料元素的插入演算法作為例子

int

insertelem

(sqlist &l,

int p,

int e)

//修改前

for(

int i = l.length-

1; i >= p; i--

) l.data[p]

= e;

++(l.length)

;return1;

}

可以修改為

int

insertelem

(sqlist &l,

int p,

int e)

//修改後

在c++中,for迴圈語句與if判斷語句等,若不使用,則只能執行到「;」結尾的那一句。例如修改前 的 if後的 return 0,只執行一句,此時(即 if 或 for 後只有一句的情況)可以將 省略。

若迴圈或判斷語句需要執行多條語句則使用,表示那幾句合成一句 。如以下執行多句,則必須使用。

for

(i = left, j = right; i < j;

++i,

--j)

⚠️當然考試中使用的有許多為了簡潔的方法,與為了便於理解的解釋,在真正專案開發時,並不適用。

✅1、結構體

typedef

struct

typea;

typea a;

//定義了乙個結構體變數a

a.a a.b a.c

typea a[3]

;//定義乙個結構體陣列a[0

].a a[0]

.b a[0]

.c...

..a[3

].a a[3]

.b a[3]

.c

✅2、指標
int

*x;//宣告乙個指標

typea *y//使用結構體型別定義指標

若 a為指標變數且它指向變數b,則a中存放變數b的位址。*a就是取變數b的內容(即x =*a等價於 x=b ),&b就是取變數b的位址,a=&b;就是將b的位址存於a中。

⚠️注:在考研中,指標常和結構體共同使用來構造結點(如鍊表結點,二叉樹等)

✅3、結點的構造

typedef

struct lnodelnode;

typedef

struct btnode btnode;

考研計算機資料結構(個人筆記) 第2章 線性表

為了考研過程中方便總結看書和聽課的記錄,決定將一些內容敲成部落格以供自己複習和使用,僅供參考。define maxsize 100 這裡定義了乙個整型常量maxsize,值為1001 順序表的結構體定義 typedef struct sqlist 考試中順序表簡寫 int a maxsize int...

天勤計算機考研高分筆記(一)緒論1資料結構

1.1.1 答題規則,技巧 1.演算法設計題中的 部分,只需要寫出乙個或者多個可以解決問題的有著清楚介面描述的函式即可。定義1.介面 為使用者和函式打交道的地方,通過介面,使用者輸入自己的資料,得到想要的結果。eg count error struct typea typea 是新的資料型別 1.1...

計算機基礎 資料結構

佇列 rear指向最後元素的下乙個 串樹 赫夫曼樹 生成樹 無向。圖有n個點,有n 1條邊 b樹 磁碟頁對應b樹的節點,只要那些包含元素地節點大小不超過磁碟頁大小,樹的高度決定訪問磁碟次數 一次磁碟io後就進入記憶體進行比較 它比二叉樹的優勢在於,只要樹矮一些,就能提高查詢效率,適合資料量大的查詢。...