总结助手?
692
2022-05-29
由于时间和水平有限,肯定有错误或者写得不好的地方
欢迎在文章下评论指出。
涉及语言:
py3:注重算法本身的知识
c/c++:实现基础数据结构和算法
java:实现较复杂数据结构
一、概述
c语言知识体系
算法体系参考
课上笔记1(复习c、课程概述)
课上笔记2(基本概念、时空复杂度)
时空复杂度
浅析P/NP/NPC
引入:算法优化
提高篇
基础动态规划
摔手机:借一道水题打开思路
二、线性表
笔记:
课上笔记3(线性表及顺序表示)
课上笔记5(链表概述)
课上笔记6(链表选讲、静态链表)
作业1讲解(最大子数组二维多维)
基础代码实现:
顺序存储实现(静/动)
单链表不带头(标准实现)
单链表不带头(压缩代码)
双链表带头
应用:
约瑟夫环(顺序、链式、数学)
线性表表示集合
线性表表示一元多项式
链表环相关问题
链表coding能力练习:归并排序
LRU介绍和实现
提高篇
链表coding能力练习:相交问题
三、栈和队列
笔记:
课上笔记7(栈、队列基础)
基础代码实现:
数组实现栈
链表实现栈
数组实现队列(易懂实现循环)
链表实现队列
双栈
栈和队列的互相模拟
应用:
栈排序
括号匹配
表达式求值
简单迷宫问题
借汉诺塔理解栈与递归
手动维护栈实现二叉树三种遍历
深搜、广搜与栈、队列
相关算法:
单调栈
单调双端队列
提高篇
双端队列优化的背包问题
四、串
笔记:
课上笔记8(串基础)
基础代码实现:
串的定长表示
串的堆分配
为何py整数不会溢出
c语言文件操作
相关算法:
一文读懂KMP
一文读懂Manacher
KMP题集1
KMP题集2
KMP+DP入门
字符串上的动态规划
前缀树
后缀树/后缀数组概述
AC自动机
五、数组和广义表
注:题目慢慢添加
笔记:
课上笔记9(数组、广义表)
部分题目实现:
二维数组基操四连
数组基本操作三连(1)
数组基本操作三连(2)
数组基本操作三连(3)
数组基本操作三连(4)
数组精选操作(5)
数组精选操作(6)
应用:
2048小游戏实现
吃豆人
贪吃蛇
六、树
笔记:
课上笔记10(树和二叉树概述)
二叉树概述
课上笔记11(满二叉树、完全二叉树)
课上笔记12(二叉树存储与遍历)
课上笔记13(树的存储)
基础代码实现:
理解二叉树遍历
二叉树序列化/反序列化
先序中序后序两两结合重建二叉树
先序中序数组推后序数组
直观打印二叉树
根据数组建立平衡二叉搜索树
平衡二叉树的判断
完全二叉树的判断
搜索二叉树的判断
二叉树最长路径
时间低于O(N)求完全二叉树结点个数
应用:
二叉搜索树
堆
堆应用例题三连
并查集
并查集入门题集
线段树
树状数组
相关算法:
最大搜索子树
morris遍历 空间O(1)
七、图
笔记:
课上笔记14(图基础)
课上笔记15(存储、遍历)
基础:
最小生成树
拓扑排序
最短路
相关算法:
迷宫
棋盘简单深搜广搜
皇后问题(位运算)
旅行商问题(认识状态压缩)
八、动态存储
九、查找
基础代码实现:
二分及拓展
二叉搜索树实现
数组建立二叉搜索树
自平衡二叉搜索树
AVL Tree
相关算法:
HashMap记录的动态规划
跳表介绍和实现
十、排序
基础代码实现:
八种排序
相关算法:
快排-荷兰国旗
快排-前m大元素
归并-求逆序数
桶思想-相邻数最大差值
堆
堆应用例题三连
BFPRT
二叉树 数据结构
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。