数据结构与算法要啸着学
文章平均质量分 94
每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根
阿亮joy.
You are more than what you have become and remember who you are.
展开
-
【数据结构与算法】单调队列 | 单调栈
本篇博客主要讲解了两个非常实用的数据结构:单调队列和单调栈、用单调队列解决 LeetCode 中的滑动窗口最大值问题、用单调栈解决 LeetCode 中的每日问题和牛客网中的指标 A 的最大值问题等。原创 2023-02-13 15:38:16 · 1073 阅读 · 43 评论 -
【数据结构与算法】Manacher算法
本篇博客主要讲解什么是 Manacher 算法以及 Manacher 算法是如何求解最长回文子串的。原创 2023-02-17 11:05:31 · 1080 阅读 · 46 评论 -
【数据结构与算法】前缀树的实现
Trie(发音类似 “try”),被称为前缀树或字典树,是一种树形的数据结构,可用于高效地存储和检索字符串数据集中的键。这个数据结构有相当多的应用情景,例如自动补完和拼写检查。原创 2023-02-09 09:32:54 · 1406 阅读 · 61 评论 -
【广度优先搜索】N叉树的层序遍历 | 腐烂的橘子 | 单词接龙 | 最小基因变化 | 打开转盘锁
本篇博客主要讲解了主要讲解了广度优先搜索的模型以及几道广度优先搜索的题目:N 叉树的层序遍历、腐烂的橘子、单词接龙、最小基因变化、打开转盘锁等。原创 2023-02-07 08:00:00 · 934 阅读 · 27 评论 -
【回溯算法篇】N皇后问题
本篇博客主要讲解了 N 皇后问题,N 皇后问题算是回溯算法中比较难的题目了,解决 N 皇后问题的关键就是判断皇后之间是否会相互攻击。除此之外,还讲解了用位信息来判断放置皇后的位置限制。原创 2023-02-07 07:45:00 · 2662 阅读 · 11 评论 -
【回溯算法篇】组合问题
本篇博客主要讲解了什么是回溯算法、回溯算法主要解决的问题、回溯算法的模板、组合问题以及剪枝优化等。原创 2023-02-07 07:15:00 · 1715 阅读 · 15 评论 -
【数据结构与算法】跳表
skiplist 本质上也是一种查找结构,用于解决算法中的查找问题,跟平衡搜索树和哈希表的价值是一样的,可以作为 key 或者 key / value 的查找模型。本篇博客主要讲解了什么是跳表,如何保证跳表的效率,跳表的实现以及跳表跟平衡搜索树和哈希表的对比等。原创 2023-02-04 08:00:00 · 1798 阅读 · 45 评论 -
【数据结构与算法】LRU Cache
本篇博客主要讲解了什么是 LRU Cache 以及如何设计 LRU Cache等。原创 2023-02-02 08:15:00 · 1718 阅读 · 43 评论 -
【数据结构与算法】最小生成树 | 最短路径
本篇博客主要讲解了最小生成树的 Kruskal 算法和 Prim 算法以及最短路径的 Dijkstra 算法、BellmanFord 算法和 FloydWarshall 算法等。原创 2023-02-02 08:00:00 · 2470 阅读 · 32 评论 -
【数据结构与算法】图的基本概念 | 邻接矩阵和邻接表 | 广度优先遍历和深度优先遍历
本篇博客主要讲解了图的基本概念、邻接矩阵和邻接表、图的广度优先遍历和深度遍历等。原创 2023-02-02 07:45:00 · 5902 阅读 · 17 评论 -
【数据结构与算法】并查集
本篇博客主要讲解了什么是并查集、并查集的模拟实现、并查集的应用:省份数量和等式方程的可满足性以及并查集的优化等等。原创 2023-02-02 07:30:00 · 1736 阅读 · 17 评论 -
【数据结构与算法】二叉树的非递归前中后序遍历
二叉树的前中后遍历如果采取递归的方式来实现,是相当容易的事情。递归之所以强大,是因为有系统自动压栈。那么非递归的前中后序遍历就是借助栈,通过我们自己手动压栈来实现二叉树的遍历。原创 2023-01-12 16:58:35 · 1160 阅读 · 42 评论 -
【动态规划篇】最少分割回文 && 编辑距离 && 不同的子序列
状态如何定义:从问题中抽象出状态,每一个状态都对应着一个子问题。状态的定义可能不止一种方式,那如何定义状态的合理性呢?某一个状态的阶或者多个状态的解能否推出最终问题的解,也就是状态之间能够形成递推关系(状态转移方程)。一维状态 VS 二维状态:首先尝试一维状态,如果一维状态的合理性不满足时,再去尝试二维状态。常见问题的状态:字符串:状态一般对应子串,状态一般每次增加一个新的字符。二维状态有时候能够优化成一维状态。原创 2022-12-26 16:15:00 · 492 阅读 · 15 评论 -
【动态规划篇】背包问题
背包问题是动态规划中比较难也是很经典的题目,本篇博客主要带你了解如何定义背包问题的状态,如何写出状态转移方程以及如何将二维状态优化成一维状态。原创 2022-12-26 16:11:55 · 168 阅读 · 8 评论 -
【动态规划篇】路径总数&&最小路径和
本篇博客主要讲解了路径总数和最小路径和,问题的状态和状态转移方程都比较好写出来,难度较低。原创 2022-12-26 16:04:57 · 404 阅读 · 8 评论 -
【动态规划篇】斐波那契数列&&拆分词句&&三角矩阵
动态规划(Dynamic Programming,简称为 DP)是分治思想的延伸,通俗来说就是大事化小,小事化了的艺术。在将大问题化解为小问题的分治过程中,保存对这些小问题已经处理好的结果,并供后面处理更大规模的问题时直接使用这些结果。把原来的问题分解成了几个相似的子问题所有的子问题都只需要解决一次储存子问题的解动态规划的本质,是对问题状态的定义和状态转移方程的定义(状态以及状态之间的递推关系),动态规划问题一般从以下四个角度来考虑:状态定义、状态间的转移方程定义、状态的初始化和返回结果。原创 2022-12-26 15:59:43 · 849 阅读 · 14 评论 -
【数据结构与算法】排序算法总结
带你了解八大排序算法的思想、实现、时间复杂度和稳定性!!!🎇🎇🎇每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根。🎇🎇🎇原创 2022-10-23 08:14:11 · 7353 阅读 · 53 评论 -
【数据结构与算法】二叉树(下)
二叉树的前序、中序、后序以及层序遍历,构建二叉树、销毁二叉树以及基础的二叉树OJ题!!!保证你能学会!!!原创 2022-10-21 10:15:01 · 471 阅读 · 24 评论 -
【数据结构与算法】二叉树(上)
带你了解树和二叉树的基本概念、二叉树的性质、堆的实现、堆排序已经TOP-K问题。原创 2022-10-21 10:11:18 · 643 阅读 · 14 评论 -
【数据结构与算法】用队列实现栈&&用栈实现队列&&设计循环队列
三道经典的OJ题:用队列实现栈、用栈实现队列和设计循环队列,点进来保证你能学会!!!原创 2022-10-18 09:57:29 · 1412 阅读 · 58 评论 -
【数据结构与算法】队列的实现
数据结构队列的实现,保证你能够学会!!!原创 2022-10-18 09:57:14 · 1214 阅读 · 57 评论 -
【数据结构与算法】栈的实现&&有效的括号
数据结构与算法——栈的实现以及栈的应用括号匹配问题!!!点进来保证你能学会!!!原创 2022-10-15 16:11:59 · 1067 阅读 · 33 评论 -
【数据结构与算法】双向循环链表的实现
带哨兵位双向循环链表的实现(C语言实现)!!!保证你能学会!!!🎇🎇🎇每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根。🎇🎇🎇原创 2022-10-11 21:59:23 · 745 阅读 · 29 评论 -
【数据结构与算法】单向链表的实现
超详细的单向链表的实现(C语言实现)!!!保证你能学会!!!🎇🎇🎇每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根。🎇🎇🎇原创 2022-10-11 21:59:31 · 631 阅读 · 34 评论 -
【数据结构与算法】顺序表
顺序表的超详细介绍!!!希望你也能学会!!!🎇🎇🎇每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根。🎇🎇🎇原创 2022-10-09 15:57:01 · 933 阅读 · 37 评论 -
【数据结构与算法】无重复字符的最长子串
教你如何求解无重复字符的最长子串!!!🎇🎇🎇每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根。🎇🎇🎇原创 2022-09-30 15:25:26 · 2316 阅读 · 45 评论 -
【数据结构与算法】BF算法、KMP算法及OJ题
全网最详细的BF算法和KMP算法!!!🎇🎇🎇每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根。🎇🎇🎇原创 2022-09-13 22:25:51 · 1402 阅读 · 102 评论 -
【数据结构与算法】二分查找算法
🎇🎇🎇每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根🎇🎇🎇原创 2022-08-07 19:18:39 · 820 阅读 · 46 评论 -
【数据结构与算法】逆置算法
每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根。原创 2022-07-28 08:38:29 · 2616 阅读 · 13 评论 -
【数据结构与算法】时间复杂度和空间复杂度
每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根。原创 2022-08-04 20:13:10 · 848 阅读 · 53 评论