原创 數據結構筆記——KMP算法

樸素模式匹配算法的缺點: 當某些子串與模式串能部分匹配時,主串的掃描指針i經常回溯,導致時間開銷增加                                                  

原创 數據結構筆記——樸素模式匹配算法

目錄 一、什麼是模式匹配 二、樸素模式匹配算法 三、樸素模式匹配算法性能分析 四、總結 一、什麼是模式匹配 主串:S=‘wangdao’ 子串:'wang'、'ang'、'ao'.... 模式串:'gda'、'bao' 串的模式匹配:在主

原创 數據結構第二章——線性表知識點彙總

順序表的定義 順序表的插入刪除 順序表的查找 單鏈表的定義 單鏈表的插入及刪除 單鏈表的查找 單鏈表的建立 雙向鏈表的插入遍歷及刪除 循環鏈表 靜態鏈表 順序表VS鏈表

原创 數據結構筆記——串的存儲結構

目錄 一、串的順序存儲 1.靜態數組實現(定長順序存儲) 2.動態數組實現 3.存儲方式 二、串的鏈式存儲 三、基本操作的實現 1.求子串SubString(&Sub,S,pos,len) 2.比較操作。StrCompare(S,T) 3

原创 數據結構第三章——棧和隊列知識點彙總

棧 順序棧的實現 隊列的定義 隊列的順序存儲 隊列的鏈式存儲 雙端隊列 棧的應用(括號匹配問題) 棧的應用(表達式求值) 棧的應用(二) 棧的應用(遞歸) 隊列應用

原创 數據結構筆記——串的定義與基本操作

一、串的定義 例: S='Hello World!' T="iPhone 11 Pro Max?" 注:有的地方用雙引號(如Java、C),有的地方用單引號(如Python) 子串:串中任意個連續的字符組成的子序列。Eg:'iPhone

原创 數據結構筆記——隊列應用

目錄 一、樹的層次遍歷 二、圖的廣度優先遍歷 三、在操作系統中的應用 一、樹的層次遍歷 ①②③④⑤⑥⑦⑧⑨⑩11 二、圖的廣度優先遍歷 ①②③④⑤⑥⑦⑧   三、在操作系統中的應用 多個進程爭搶着使用有限的系統資源時,FCFS(先來先

原创 數據結構筆記——棧的應用(遞歸)

目錄 一、函數調用背後的過程 二、棧在遞歸中的應用 三、總結 一、函數調用背後的過程 函數調用的特點:最後被調用的函數最先執行結束(LIFO) 函數調用時,需要用一個棧存儲: ①調用返回地址 ②實參 ③局部變量   二、棧在遞歸中的應用

原创 數據結構筆記——棧的應用(二)

一、中綴表達式轉後綴表達式(機算) 初始化一個棧,用於保存暫時還不確定運算順序的運算符。 從左到右處理各個元素,直到末尾。可能遇到三種情況: ①遇到操作數。直接加入後綴表達式。 ②遇到界限符。遇到“(”直接入棧;遇到“)”則依次彈出棧內運

原创 數據結構筆記——棧的應用(表達式求值)

目錄 一、熟悉的算數表達式 二、波蘭數學家的靈感 三、中綴、後綴、前綴表達式 中綴轉後綴的手算方法: 後綴表達式的計算(手算): 後綴表達式的計算(機算): 中綴轉前綴的手算方法: 前綴表達式的計算(機算): 四、總結   一、熟悉的算數

原创 數據結構筆記——棧的應用(括號匹配問題)

目錄  一、括號匹配問題 二、流程圖 三、算法實現 四、總結  一、括號匹配問題 ①第一種情況 ②第二種情況 ③第三種情況 ④第四種情況   二、流程圖   三、算法實現   四、總結  

原创 bandicam去水印

鏈接:https://pan.baidu.com/s/1jm-xnBGMxy0rQZyf79nFhA  提取碼:zogx   1.管理員身份運行 2.填寫郵箱 3.重啓軟件 4.成功

原创 數據結構筆記——雙端隊列

一、雙端隊列 雙端隊列:只允許從兩端插入、兩端刪除的線性表   輸入受限的雙端隊列:只允許從一端插入、兩端刪除的線性表   輸出受限的雙端隊列:只允許從兩端插入、一端刪除的線性表   考點:判斷輸出序列合法性 題目:若數據元素出入序

原创 數據結構筆記——隊列的鏈式存儲

目錄 一、隊列的鏈式實現 二、初始化(帶頭結點) 三、初始化(不帶頭結點) 四、入隊(帶頭結點) 五、入隊(不帶頭結點) 六、出隊(帶頭結點) 七、出隊(不帶頭結點) 八、隊列滿的條件 九、總結 一、隊列的鏈式實現 typedef st

原创 數據結構筆記——隊列的順序存儲

目錄 一、隊列的順序實現 二、初始化操作 三、入隊操作 四、循環隊列 五、總結 ​ 一、隊列的順序實現 #define MaxSize 10 //定義隊列中元素的最大個數 typedef struct{ ElemType