上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 21 下一页
摘要: 东哥手把手带你刷二叉树(第二期) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: 654.最大二叉树 105.从前序与中序遍历序列构造二叉树 106.从中序与后序遍历序列构造二叉树 上篇文章 手把手教你刷二叉树(第一篇) 连刷了三道二叉树题目,很多读者直呼内行。其实 阅读全文
posted @ 2020-11-14 22:41 labuladong 阅读(797) 评论(0) 推荐(0) 编辑
摘要: 读完本文,你可以去力扣拿下如下题目: 226.翻转二叉树 114.二叉树展开为链表 116.填充每个节点的下一个右侧节点指针 我们的成名之作 学习数据结构和算法的框架思维 中多次强调,先刷二叉树的题目,先刷二叉树的题目,先刷二叉树的题目,因为很多经典算法,以及我们前文讲过的所有回溯、动归、分治算法, 阅读全文
posted @ 2020-11-14 22:40 labuladong 阅读(655) 评论(0) 推荐(1) 编辑
摘要: 二叉树的序列化和反序列化 JSON 的运用非常广泛,比如我们经常将变成语言中的结构体序列化成 JSON 字符串,存入缓存或者通过网络发送给远端服务,消费者接受 JSON 字符串然后进行反序列化,就可以得到原始数据了。这就是「序列化」和「反序列化」的目的,以某种固定格式组织字符串,使得数据可以独立于编 阅读全文
posted @ 2020-11-14 22:39 labuladong 阅读(2387) 评论(0) 推荐(0) 编辑
摘要: 二叉堆(Binary Heap)没什么神秘,性质比二叉搜索树 BST 还简单。其主要操作就两个,sink(下沉)和 swim(上浮),用以维护二叉堆的性质。其主要应用有两个,首先是一种排序方法「堆排序」,第二是一种很有用的数据结构「优先级队列」。 本文就以实现优先级队列(Priority Queue 阅读全文
posted @ 2020-11-14 22:35 labuladong 阅读(462) 评论(0) 推荐(1) 编辑
摘要: 读完本文,你可以去力扣拿下如下题目: 92.反转链表II 反转单链表的迭代实现不是一个困难的事情,但是递归实现就有点难度了,如果再加一点难度,让你仅仅反转单链表中的一部分,你是否能够递归实现呢? 本文就来由浅入深,step by step 地解决这个问题。如果你还不会递归地反转单链表也没关系,本文会 阅读全文
posted @ 2020-11-14 22:34 labuladong 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 读完本文,你可以去力扣拿下如下题目: 232.用栈实现队列 225.用队列实现栈 队列是一种先进先出的数据结构,栈是一种先进后出的数据结构,形象一点就是这样: 这两种数据结构底层其实都是数组或者链表实现的,只是 API 限定了它们的特性,那么今天就来看看如何使用「栈」的特性来实现一个「队列」,如何用 阅读全文
posted @ 2020-11-14 22:33 labuladong 阅读(618) 评论(0) 推荐(0) 编辑
摘要: 读完本文,你可以去力扣拿下如下题目: 496.下一个更大元素I 503.下一个更大元素II 1118.一月有多少天 栈(stack)是很简单的一种数据结构,先进后出的逻辑顺序,符合某些问题的特点,比如说函数调用栈。 单调栈实际上就是栈,只是利用了一些巧妙的逻辑,使得每次新元素入栈后,栈内的元素都保持 阅读全文
posted @ 2020-11-14 22:32 labuladong 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 读完本文,你可以去力扣拿下如下题目: 239.滑动窗口最大值 前文讲了一种特殊的数据结构「单调栈」monotonic stack,解决了一类问题「Next Greater Number」,本文写一个类似的数据结构「单调队列」。 也许这种数据结构的名字你没听过,其实没啥难的,就是一个「队列」,只是使用 阅读全文
posted @ 2020-11-14 22:31 labuladong 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 层层拆解,带你手写 LFU 算法 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: 460.LFU缓存机制 上篇文章 带你手写LRU算法 写了 LRU 缓存淘汰算法的实现方法,本文来写另一个著名的缓存淘汰算法:LFU 算法。 LRU 算法的淘汰策略是 Least Re 阅读全文
posted @ 2020-11-14 22:29 labuladong 阅读(1515) 评论(0) 推荐(0) 编辑
摘要: 读者经常让我写刷题路线,我觉得这些东西太枯燥了,今天就编一个故事讲讲。 这要从小东开始学习技术开始讲起。 小东是一个目标明确的人,自从上了大学就在琢磨怎么才能找高薪工作多赚钱。他发现做程序员工资挺高,而且有大量优秀的 在线练习平台,所以毅然决定入坑。 计算机的几大基础,Linux 操作系统当然是必知 阅读全文
posted @ 2020-11-14 22:26 labuladong 阅读(618) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 21 下一页
我的公众号 labuladong,专注于 LeetCode 刷题,欢迎关注。