原博指路:MOOC 浙大數據結構課後題記錄 ——PTA 數據結構題目集 (全)
本博客是為了記錄學習數據結構時做的題集,若代碼有疏漏歡迎指出!
也相當於是一個數據結構的總結了~
ps:因為已經學過 c++ 了所以都用 c++ 寫了,但也有很多 c 語言的東西。
MOOC 傳送門
第一週 —— 最大子列和算法、二分查找#
代碼及其思路指路博客:PTA 數據結構題目集 第一週 —— 最大子列和算法、二分查找
01 - 複雜度 1 最大子列和問題 (20 分)#
01 - 複雜度 2 Maximum Subsequence Sum (25 分)#
01 - 複雜度 3 二分查找 (20 分)#
第二週 —— 線性結構#
學習筆記指路博客 線性表、堆棧
課後習題代碼及其思路指路博客:PTA 數據結構題目集 第二週 —— 線性結構
02 - 線性結構 1 兩個有序鏈表序列的合併 (15 分)#
02 - 線性結構 2 一元多項式的乘法與加法運算 (20 分)#
02 - 線性結構 3 Reversing Linked List (25 分)#
02 - 線性結構 4 Pop Sequence (25 分)#
第三週 —— 栽樹(二叉樹等)#
學習筆記指路博客 二叉樹、隊列
課後習題代碼及其思路指路博客:PTA 數據結構題目集 第三週 —— 栽樹(二叉樹等)
03 - 樹 1 樹的同構 (25 分)#
03 - 樹 2 List Leaves (25 分)#
03 - 樹 3 Tree Traversals Again (25 分)#
第四週 —— 二叉搜索樹 & 二叉平衡樹#
學習筆記指路博客 二叉搜索樹與平衡二叉樹
課後習題代碼及其思路指路博客:PTA 數據結構題目集 第四週 —— 二叉搜索樹 & 二叉平衡樹
04 - 樹 4 是否同一棵二叉搜索樹 (25 分)#
04 - 樹 5 Root of AVL Tree (25 分)#
04 - 樹 6 Complete Binary Search Tree (30 分)#
04 - 樹 7 二叉搜索樹的操作集 (30 分)#
第五週 —— 堆 & 哈夫曼樹 & 並查集#
學習筆記指路博客 堆與哈夫曼樹與並查集
課後習題代碼及其思路指路博客:PTA 數據結構題目集 第五週 —— 堆 & 哈夫曼樹 & 並查集
05 - 樹 7 堆中的路徑 (25 分)#
05 - 樹 8 File Transfer (25 分)#
05 - 樹 9 Huffman Codes (30 分)#
第六週 —— 圖(上)#
學習筆記指路博客 圖
課後習題代碼及其思路指路博客:PTA 數據結構題目集 第六週 —— 圖(上)
涉及知識有圖的基本表示與遍歷方法(BFS、DFS)
06 - 圖 1 列出連通集 (25 分)#
06 - 圖 2 Saving James Bond - Easy Version (25 分)#
06 - 圖 3 六度空間 (30 分)#
第七週 —— 圖(中)#
學習筆記指路博客 圖論
課後習題代碼及其思路指路博客:PTA 數據結構題目集 第七週 —— 圖(中)
涉及知識有圖的單源最短路算法(Floyed 算法、Dijkstra 算法)
07 - 圖 4 哈利・波特的考試 (25 分)#
07 - 圖 5 Saving James Bond - Hard Version (30 分)#
07 - 圖 6 旅遊規劃 (25 分)#
第八週 —— 圖(下)#
學習筆記指路博客 解決最小生成樹問題 (Kruskal 算法 & Prim 算法)、數據結構學習筆記<8> 排序
課後習題代碼及其思路指路博客:PTA 數據結構題目集 第八週 —— 圖(下)
涉及知識有圖的最小生成樹、拓撲排序求解關鍵路徑等問題
08 - 圖 7 公路村村通 (30 分)#
08 - 圖 8 How Long Does It Take (25 分)#
08 - 圖 9 關鍵活動 (30 分)#
第九週 —— 排序(上)#
學習指路博客 數據結構學習筆記<8> 排序、歸併排序循環實現(存用)
課後習題代碼及其思路指路博客:PTA 數據結構題目集 第九週 —— 排序(上)
涉及各種排序算法(插入排序、歸併排序、堆排序等)
09 - 排序 1 排序 (25 分)#
09 - 排序 2 Insert or Merge (25 分)#
09 - 排序 3 Insertion or Heap Sort (25 分)#
第十週 —— 排序(下)#
學習指路博客 數據結構學習筆記<8> 排序
課後習題代碼及其思路指路博客:PTA 數據結構題目集 第十週 —— 排序(下)
涉及各種排序算法的應用、結構體的排序、表排序中的環判斷等
10 - 排序 4 統計工齡 (20 分)#
10 - 排序 5 PAT Judge (25 分)#
10 - 排序 6 Sort with Swap (0, i) (25 分)#
第十一週 —— 散列查找#
學習指路博客 數據結構學習筆記<9> 散列查找
課後習題代碼及其思路指路博客:PTA 數據結構題目集 第十一週 —— 散列查找
涉及散列查找的應用、KMP 等
11 - 散列 1 電話聊天狂人 (25 分)#
11 - 散列 2 Hashing (25 分)#
11 - 散列 3 QQ 帳戶的申請與登錄 (25 分)#
Kmp 串的模式匹配 (25 分)#
總結#
做這些題的時候,有些特意用了慕課教的數據結構的定義,有些則是用 STL 代替偷懶了,因為有方便的東西不用真的很心塞嗷(比如優先隊列代替小頂堆大頂堆,map 代替散列查找,STL 的東西可好使)。
不管咋樣咕咕咕到了最後一刻總算是做完了,這個超~漫長的暑假算沒白過 23333,寒假再接再厲加把勁準備學 java~ 完結撒花【bushi】