說明:
當年看完《資料結構高分筆記》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,形成自己的知識體系才...