由于时间和水平有限,肯定有错误或者写得不好的地方,欢迎在文章下评论指出。
这学期状态一直不太好,很多知识都没有好好搞,以后会完善一下的。
涉及语言:
py3:注重算法本身的知识
c/c++:实现基础数据结构和算法
java:实现较复杂数据结构
一、概述
c语言知识体系
<https://blog.csdn.net/hebtu666/article/details/82866168>
算法体系参考
<https://blog.csdn.net/hebtu666/article/details/81837497>
课上笔记1(复习c、课程概述)
<https://blog.csdn.net/hebtu666/article/details/82624070>
课上笔记2(基本概念、时空复杂度)
<https://blog.csdn.net/hebtu666/article/details/82700455>
时空复杂度
<https://blog.csdn.net/hebtu666/article/details/82463970>
浅析P/NP/NPC
<https://blog.csdn.net/hebtu666/article/details/82465495>
引入:算法优化
<https://blog.csdn.net/hebtu666/article/details/79912328>
基础动态规划
<https://blog.csdn.net/hebtu666/article/details/81777273>
摔手机:借一道水题打开思路
<https://blog.csdn.net/hebtu666/article/details/84789853>
二、线性表
笔记:
课上笔记3(线性表及顺序表示)
<https://blog.csdn.net/hebtu666/article/details/82753068>
课上笔记5(链表概述)
<https://blog.csdn.net/hebtu666/article/details/82834818>
课上笔记6(链表选讲、静态链表)
<https://blog.csdn.net/hebtu666/article/details/82893113>
作业1讲解(最大子数组二维多维)
<https://blog.csdn.net/hebtu666/article/details/82788866>
基础代码实现:
顺序存储实现(静/动)
<https://blog.csdn.net/hebtu666/article/details/82973911>
单链表不带头(标准实现)
<https://blog.csdn.net/hebtu666/article/details/82980561>
单链表不带头(压缩代码)
<https://blog.csdn.net/hebtu666/article/details/81261043>
双链表带头
<https://blog.csdn.net/hebtu666/article/details/82784343>
应用:
约瑟夫环(顺序、链式、数学)
<https://blog.csdn.net/hebtu666/article/details/82980735>
线性表表示集合
<https://blog.csdn.net/hebtu666/article/details/82993158>
线性表表示一元多项式
<https://blog.csdn.net/hebtu666/article/details/82982642>
链表环相关问题
<https://www.cnblogs.com/xudong-bupt/p/3667729.html>
链表coding能力练习:归并排序
<https://blog.csdn.net/hebtu666/article/details/82984679>
链表coding能力练习:相交问题
<https://blog.csdn.net/hebtu666/article/details/82995430>
三、栈和队列
笔记:
课上笔记7(栈、队列基础)
<https://blog.csdn.net/hebtu666/article/details/83106543>
基础代码实现:
数组实现栈
<https://blog.csdn.net/hebtu666/article/details/81286583>
链表实现栈
<https://blog.csdn.net/hebtu666/article/details/83025150>
数组实现队列
<https://blog.csdn.net/hebtu666/article/details/82736862>(易懂实现循环)
链表实现队列
<https://blog.csdn.net/hebtu666/article/details/82863168>
双栈
<https://blog.csdn.net/hebtu666/article/details/83011115>
栈和队列的互相模拟
<https://blog.csdn.net/hebtu666/article/details/82740895>
应用:
栈排序
<https://blog.csdn.net/hebtu666/article/details/82759172>
括号匹配
<https://blog.csdn.net/hebtu666/article/details/83035778>
表达式求值
<https://blog.csdn.net/hebtu666/article/details/83035552>
简单迷宫问题
<https://blog.csdn.net/hebtu666/article/details/83064066>
借汉诺塔理解栈与递归
<https://blog.csdn.net/hebtu666/article/details/83047821>
手动维护栈实现二叉树三种遍历
<https://blog.csdn.net/hebtu666/article/details/82853988>
深搜、广搜与栈、队列
<https://blog.csdn.net/hebtu666/article/details/81483407>
相关算法:
单调栈
<https://blog.csdn.net/hebtu666/article/details/82717317>
单调双端队列
<https://blog.csdn.net/hebtu666/article/details/82720880>
双端队列优化的背包问题
<https://blog.csdn.net/hebtu666/article/details/83018230>
四、串
笔记:
课上笔记8(串基础)
<https://blog.csdn.net/hebtu666/article/details/83831884>
基础代码实现:
串的定长表示
<https://blog.csdn.net/hebtu666/article/details/83505987>
串的堆分配
<https://blog.csdn.net/hebtu666/article/details/83862545>
为何py整数不会溢出
<https://blog.csdn.net/hebtu666/article/details/83538609>
c语言文件操作
<https://blog.csdn.net/hebtu666/article/details/85156791>
相关算法:
一文读懂KMP
<https://blog.csdn.net/hebtu666/article/details/79822446>
一文读懂Manacher
<https://blog.csdn.net/hebtu666/article/details/79822584>
KMP题集1
<https://blog.csdn.net/hebtu666/article/details/82492660>
KMP题集2
<https://blog.csdn.net/hebtu666/article/details/82492803>
KMP+DP入门
<https://blog.csdn.net/hebtu666/article/details/82790653>
字符串上的动态规划
<https://blog.csdn.net/hebtu666/article/details/82687245>
前缀树
<https://blog.csdn.net/hebtu666/article/details/83141560>
后缀树/后缀数组概述
<https://blog.csdn.net/hebtu666/article/details/83512671>
AC自动机
<https://blog.csdn.net/hebtu666/article/details/83443391>
五、数组和广义表
注:寒假完善
笔记:
课上笔记9(数组、广义表)
<https://blog.csdn.net/hebtu666/article/details/83831940>
基础代码实现:
二维数组基操四连
<https://blog.csdn.net/hebtu666/article/details/83381130>
应用:
2048小游戏实现
<https://blog.csdn.net/hebtu666/article/details/81663648>
吃豆人
<https://blog.csdn.net/hebtu666/article/details/86526655>
贪吃蛇
<https://blog.csdn.net/hebtu666/article/details/83586583>
六、树
笔记:
课上笔记10(树和二叉树概述)
<https://blog.csdn.net/hebtu666/article/details/83900565>
二叉树概述
<https://blog.csdn.net/hebtu666/article/details/82853617>
课上笔记11(满二叉树、完全二叉树)
<https://blog.csdn.net/hebtu666/article/details/84389466>
课上笔记12(二叉树存储与遍历)
<https://blog.csdn.net/hebtu666/article/details/84390001>
课上笔记13(树的存储)
<https://blog.csdn.net/hebtu666/article/details/84395716>
基础代码实现:
理解二叉树遍历
<https://blog.csdn.net/hebtu666/article/details/82853988>
二叉树序列化/反序列化
<https://blog.csdn.net/hebtu666/article/details/84553147>
先序中序后序两两结合重建二叉树
<https://blog.csdn.net/hebtu666/article/details/84322113>
先序中序数组推后序数组
<https://blog.csdn.net/hebtu666/article/details/84338555>
直观打印二叉树
<https://blog.csdn.net/hebtu666/article/details/83105504>
根据数组建立平衡二叉搜索树
<https://blog.csdn.net/hebtu666/article/details/84556551>
平衡二叉树的判断
<https://blog.csdn.net/hebtu666/article/details/84260028>
完全二叉树的判断
<https://blog.csdn.net/hebtu666/article/details/84257066>
搜索二叉树的判断
<https://blog.csdn.net/hebtu666/article/details/84259619>
二叉树最长路径
<https://blog.csdn.net/hebtu666/article/details/84254502>
时间低于O(N)求完全二叉树结点个数
<https://blog.csdn.net/hebtu666/article/details/84289179>
应用:
二叉搜索树
<https://blog.csdn.net/hebtu666/article/details/81741034>
堆
<https://blog.csdn.net/hebtu666/article/details/81706288>
堆应用例题三连
<https://blog.csdn.net/hebtu666/article/details/83380199>
并查集
<https://blog.csdn.net/hebtu666/article/details/82663647>
并查集入门题集
<https://blog.csdn.net/hebtu666/article/details/82840116>
线段树
<https://blog.csdn.net/hebtu666/article/details/82691008>
树状数组
<https://blog.csdn.net/hebtu666/article/details/82692564>
相关算法:
最大搜索子树
<https://blog.csdn.net/hebtu666/article/details/84251431>
morris遍历 空间O(1)
<https://blog.csdn.net/hebtu666/article/details/83093983>
七、图
注:寒假完善
笔记:
课上笔记14(图基础)
<https://blog.csdn.net/hebtu666/article/details/84502345>
课上笔记15(存储、遍历)
<https://blog.csdn.net/hebtu666/article/details/84874125>
图的应用
<https://blog.csdn.net/hebtu666/article/details/86526525>
相关算法:
迷宫
<https://blog.csdn.net/hebtu666/article/details/83064066>
棋盘简单深搜广搜
<https://blog.csdn.net/hebtu666/article/details/81483407>
皇后问题
<https://blog.csdn.net/hebtu666/article/details/84631083>(位运算)
旅行商问题
<https://blog.csdn.net/hebtu666/article/details/84988118>(认识状态压缩)
八、动态存储
九、查找
基础代码实现:
二分及拓展
<https://blog.csdn.net/hebtu666/article/details/81410301>
二叉搜索树实现
<https://blog.csdn.net/hebtu666/article/details/81741034>
数组建立二叉搜索树
<https://blog.csdn.net/hebtu666/article/details/84556551>
自平衡二叉搜索树
<https://blog.csdn.net/hebtu666/article/details/84992363>
AVL Tree
<https://blog.csdn.net/hebtu666/article/details/85047648>
相关算法:
HashMap记录的动态规划
<https://blog.csdn.net/hebtu666/article/details/83507376>
注:哈希和自平衡搜索二叉树类能做的事太多了,就不一一列举了。
十、排序
基础代码实现:
八种排序
<https://blog.csdn.net/hebtu666/article/details/81434236>
相关算法:
快排-荷兰国旗
<https://blog.csdn.net/hebtu666/article/details/81772701>
快排-前m大元素
<https://blog.csdn.net/hebtu666/article/details/81772978>
归并-求逆序数
<https://blog.csdn.net/hebtu666/article/details/81773190>
堆
<https://blog.csdn.net/hebtu666/article/details/81706288>
堆应用例题三连
<https://blog.csdn.net/hebtu666/article/details/83380199>
BFPRT
<https://blog.csdn.net/hebtu666/article/details/83070107>
热门工具 换一换