《資料結構高分筆記》讀書筆記

2021-07-27 09:49:10 字數 1651 閱讀 6743

說明:

當年看完《資料結構高分筆記》2014版,吸收精華後寫了乙份讓我引以為豪的精簡筆記。。。。

然而現在掉了。。。。找到不到了。。。。痛心。。。。

為了鞏固資料結構,不得已再拾起這本書再過一遍。。。。

這回筆記不再寫在紙上了。。。。

第一章   緒論

資料型別

結構型即使用者自己製作的資料型別

typedef:用來給現有的資料型別起乙個新名字,新名字叫typea

指標型int *a  如果a是個指標型變數,且它已經指向乙個變數b,則a中存放變數b所在的位址

*a 就是取變數b的內容(x=*a;等價於x=b;)

&b就是取變數b的位址

a=&b就是將變數b的位址存於a中,===指標a指向b

//鍊錶的結構型定義:

typedef struct node

node;//若此處為a,則宣告時用a a;   若此處無內容,則宣告用struct node a;

//二叉樹結點的定義

typedef struct btnodebtnode, *btnode;// btnode *p = btnode p; 一般可不用寫*btnode

//製作二叉樹的節點+動態申請陣列空間

(1) btnode bt; //bt就是某個結點的名字,不可再更改

(2) btnode *bt; //bt是指標型變數,用以儲存剛製作好的結點的位址

(2) bt = (btnode*)malloc(n * sizeof(btnode)); //一次申請一組長度為n的結點

取分量操作時:

(1)  x = bt.data;                             結構體變數             取分量,其操作用   「.」

(2)  x = bt->data;                   指向   結構體變數  的指標 取分量,其操作用     」->」

x =(*bt).data;

將(2)中bt轉成  結構體變數            

取分量,

就可以用 

「.」

函式

//使用引用型對普通變數進行改變

void f(int &x)

//若傳入的變數是 指標型變數

void f(int *&x)

//只要陣列作為引數,都是引用型的

//一維陣列作為引數的函式宣告方法

void f(int x,int n)

//二維陣列作為引數的函式宣告方法

void f(int x[maxsize],int n)

時間複雜度

時間複雜度常用的比較關係:

o(1)o(n)<

o(nlog2(n)

)<

o(n2)<

o(n3)<

o(nk)<

o(2n)

資料結構讀書筆記

首先有個關於指標的問題 如果函式傳進來乙個指標 p,函式裡操作p不會影響原來的值,而如果有 或者 才會改變 比如 malloc的時候傳入指標的指標才行 o 1 刪除節點時末尾必須要便利一遍 刪除頭指標要變為刪除第二個節點。1.o 1 刪除指定位置的節點 如果為最後乙個節點還是必須遍歷一遍 2.倒數第...

《資料結構》讀書筆記

2010年9月2日開始研究 資料結構基礎 這本書。為什麼要說是研究呢,一是覺得研究這個詞比較賞心悅目,總比 看 閱讀 之類的好聽多了。二是真的想把資料結構學好。488頁,看來有忙活的了!第一章 基本概述 生命週期各階段描述及理解 1.需求階段 所有人規模程式設計專案,都是從確定規範宣告開始,規範宣告...

資料結構讀書筆記2

一切為了 merge 1.大話資料結構 1.個人感覺,這一塊 大話資料結構 作者搞的略混。也有少許我不贊成的地方,會在之後的工作中,改正我認為不完美的地方。2.畢竟現在不是大師,改正過程中我會以實際執行為標準,並且查閱相關的大牛們編著的書籍。3.正如我開頭所說一切為了merge,形成自己的知識體系才...