原博指路: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】