从GitHub火到了CSDN!共计1137页的《数据结构与算法》,拿走不谢

为什么要学习数据结构与算法?如果你还是学生,那么这门课程是必修的,考研基本也是必考科目。工作在内卷严重的大厂中找工作数据结构与算法也是面试、笔试必备的非常重要的考察点。如果工作了数据结构和算法也是内功提升一个非常重要的体现,对于程序员来说,想要得到满意的结果,数据结构与算法是必备功力!

为此我给大家分享这份GitHub爆火的数据结构与算法神册

总览目录

动态规划

动态规划解不相交的线

动态规划+双指针代码优化

对于题中的条件是递增的数量,也就是有序的,所以我们还可以使用双指针来解决,当确

定A[j]之后,我们在A[j]的前面来使用两个指针来找和等于A[j]的两个值,这里以示例一

为例看下视频

中心扩散法解决

中心扩散的思想,是找到一个字符作为回文字符串的中心,往两边扩散,来看个视频

回溯算法

剑指 Offer-字符串的排列

回溯算法解黄金矿工问题

贪心算法

贪心算法解按要求补齐数组

分发糖果(贪心算法解决)

DFS和BFS相关算法

DFS解决

DFS和BFS解被围绕的区域

双指针相关

相连,串成一个环形,那么最终拿掉的k个元素肯定是连续的,问题就转化为求k个连续

元素的最大和,所以我们很容易想到的就是滑动窗口

但这个窗口有个限制条件,就是窗口内的元素至少包含原数组首尾元素中的一个。

我们就以示例一为例来看下视频。(视频只是截图哈)

快慢指针解决环形链表

双指针求无重复字符的最长子串

二叉树相关

二叉树最大宽度

剑指 Offer-平衡二叉树

从前序与中序遍历序列构造二叉树

链表相关

反转链表

快慢指针解环形链表

栈相关

删除字符串中的所有相邻重复项

验证栈序列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值