原创 數據結構筆記——二叉排序樹

目錄 一、二叉排序樹的定義 二、二叉排序樹的查找 三、二叉樹的插入 四、二叉排序樹的構造 五、二叉排序樹的刪除 六、查找效率分析 七、總結 一、二叉排序樹的定義 二叉排序樹,又稱二叉查找樹(BST),一棵二叉樹或者是空二叉樹,或者是具有如

原创 數據結構筆記——線索二叉樹的概念

目錄 一、二叉樹的中序遍歷序列 二、中序線索二叉樹 三、線索二叉樹的存儲結構 四、中序線索二叉樹的存儲 五、先序線索二叉樹 六、先序線索二叉樹的存儲 七、後序線索二叉樹 ​八、後序線索二叉樹的存儲​ 九、三種線索二叉樹的對比 十、總結 一

原创 數據結構筆記——線索二叉樹找前驅/後繼

目錄 一、中序線索二叉樹找中序後繼 二、中序線索二叉樹中找中序前驅 三、先序線索二叉樹找先序後繼 四、先序線索二叉樹找先序前驅 五、後序線索二叉樹找後序前驅 六、後序線索二叉樹找後序後繼 七、總結 一、中序線索二叉樹找中序後繼 在中序線

原创 數據結構筆記——樹存儲結構

目錄 一、樹的邏輯結構 二、雙親表示法(順序存儲) 三、回顧:二叉樹的順序存儲 四、孩子表示法(順序+鏈式存儲) 五、孩子兄弟表示法(鏈式存儲) 六、森林和二叉樹的轉換 七、總結 一、樹的邏輯結構 二、雙親表示法(順序存儲) 雙親表示

原创 數據結構筆記——由遍歷序列構造二叉樹

目錄 一、不同二叉樹的中序遍歷序列 二、前序+中序遍歷序列 三、後序+中序遍歷序列 四、層序+中序遍歷序列 五、若前序、後序、層序序列兩兩組合? 六、總結 一、不同二叉樹的中序遍歷序列 中序遍歷:中序遍歷左子樹、根結點、中序遍歷右子樹

原创 王道數據結構筆記——二叉樹線索化

目錄 一、用土方法找到中序前驅 二、中序線索化 三、中序線索二叉樹 四、中序線索化(王道教材版) 五、先序線索化 六、先序線索化(王道教材版) 七、後序線索化 八、後序線索化(王道教材版) 九、總結 一、用土方法找到中序前驅 //中序遍

原创 數據結構筆記——二叉樹的層序遍歷

目錄 一、二叉樹的層序遍歷 二、代碼實現 三、總結 一、二叉樹的層序遍歷 算法思想: ①初始化一個輔助隊列 ②根結點入隊 ③若隊列非空,則隊頭結點出隊,訪問該結點,將其左右孩子插入隊尾(如果有的話) ④重複③直至隊列爲空 二、代碼實現

原创 數據結構筆記——二叉樹先/中/後序遍歷

目錄 一、什麼是遍歷 二、二叉樹的遍歷(手寫練習) 三、先序遍歷(代碼) 四、中序遍歷(代碼) 五、後序遍歷(代碼) 六、求先序遍歷序列 七、求中序遍歷序列 八、求後序遍歷序列 九、求樹的深度(應用) 十、總結 一、什麼是遍歷 遍歷:按照

原创 數據結構筆記——特殊矩陣的壓縮存儲

目錄 一、一維數組的存儲結構 二、二維數組的存儲結構 三、普通矩陣的存儲 四、對稱矩陣的壓縮存儲 五、三角矩陣的壓縮存儲 六、三對角矩陣的壓縮存儲 七、稀疏矩陣的壓縮存儲 八、總結 一、一維數組的存儲結構 各數組元素大小相同,且物理上連

原创 數據結構筆記——二叉樹

目錄 一、知識總覽 二、二叉樹的概念 三、二叉樹的五種狀態 四、幾個特殊的二叉樹 五、總結 一、知識總覽 二、二叉樹的概念 二叉樹是n個結點的有限集合: ①或者爲空二叉樹,即n = 0; ②或者是由一個根節點和兩個互不相交的被稱爲根的左

原创 數據結構筆記——二叉樹的常考性質

目錄 一、二叉樹的常考性質 考點1 考點2 考點3 二、完全二叉樹的常考性質 考點1 考點2 三、總結 一、二叉樹的常考性質 考點1  設非空二叉樹中度爲0、1和2的結點個數分別爲n0,n1和n2,則n0 = n2 + 1(葉子結點比二分

原创 數據結構筆記——樹的常考性質

目錄 一、樹的常考性質 二、總結 一、樹的常考性質 考點1:結點數=總度數+1 考點2:度爲m的樹、m叉樹的區別 考點3:度爲m的樹第1層至多有m^(i-1)個結點 考點4: 考點5: m^(h-1) < n(m-1)

原创 數據結構第四章——串知識點彙總

串的定義與基本操作 串的存儲結構 樸素模式匹配算法 KMP算法(一) KMP算法(二) KMP算法優化(nextval數組)

原创 數據結構——KMP算法優化(nextval數組)

一、KMP算法存在的問題 多進行了一次無意義的對比 二、KMP算法優化 加一個判斷字符相等的數組nextval[j]