培養我們的高階思維: 資料結構演算法掌握–》有利於做上層應用開發
提高程式的執行效率,採用不同的儲存方式,資料的增刪改查操作的效率是不一樣的
主要內容
順序表的基本操作
鍊錶基本操作
(增加,刪除,更改,查詢資料)
棧和佇列
樹和二叉樹
常見的排序演算法
本質:就是前面c語言學習過的陣列,在陣列的基礎上做了二次封裝,封裝了結構體
總結成公式:
struct 你自己取名字
;
用結構體來表示單鏈表
總結成公式:
struct 單鏈表的名字
;
學習鍊錶的套路 -
-方法一
p=p->next; //p指向p的下乙個節點 賦值運算翻譯成指向
方法二p->next p的下乙個節點
方法三初學者,一定要畫圖分析鍊錶中指標的指向,否則很容易出現段錯誤
方法四當你畫完圖,**進入死胡同,要麼調換一些步驟或者使用兩個指標操作
任何鍊錶總結成模型
struct 鍊錶的名字
;
1. 特點
在普通單鏈表的基礎上,收尾相接
2. 對比單鏈表的寫法
while(p->next!=myhead)
3.總結鍊錶操作的技巧
1.畫圖寫步驟,步驟是交換
2.最厲害的**–》用兩個指標操作
3. p p->next p->next->next
4.
while
(p!=
null
)while
(p->next!=
null
)
雙向鍊錶的表示struct doublelist
;
特點:
最後乙個節點的next指標–》指向頭結點
頭節點prev指標–》指向尾部
注意的問題
第一:迴圈條件
while(p->next!=head)
第二:插入,初始化
首尾相接
Linux 程序 資料結構
程序相關函式的資料結構為 程序描述符task struct 管理這個資料結構的為各種等待佇列 執行佇列等。下面是任務 程序 資料結構,或稱為程序描述符。long state 任務的執行狀態 1不可執行,0可執行 就緒 0已停止 long counter 任務執行時間計數 遞減 滴答數 執行時間片。l...
Linux 記憶體 資料結構
在intel 80x86中,記憶體分頁管理是通過頁目錄表和記憶體頁表組成的二級表進行。頁目錄表和頁表的結構是一樣的,表項結構也相同。頁目錄表中每個表項 4b 用來定址乙個頁表,而每個頁表項 4b 用來指定一頁物理記憶體頁。因此當指定乙個頁目錄項和乙個頁表項,就可以唯一確定所對應的物理記憶體頁。頁目錄...
資料結構 資料結構緒論
資料結構是相互間存在一種或多種特定關係的資料元素的集合。程式設計 資料結構 演算法 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。資料元素是組成資料的 有一定意義的基本單位,是計算機中通常作為整體處理,也被稱為記錄。乙個資料元素可以由若干個資料項組...