09 | 队列:队列在线程池等有限资源池中的应用 我们知道,CPU资源是有限的,任务的处理速度与线程个数并不是线性正相关。相反,过多的线程反而会...
08 | 栈:如何实现浏览器的前进和后退功能? 浏览器的前进、后退功能,我想你肯定很熟悉吧? 当你依次访问完一串页面a-b-c之后,点击浏览器的...
07 | 链表(下):如何轻松写出正确的链表代码? 上一节我讲了链表相关的基础知识。学完之后,我看到有人留言说,基础知识我都掌握了,但是写链表代...
06 | 链表(上):如何实现LRU缓存淘汰算法? 今天我们来聊聊“链表(Linkedlist)”这个数据结构。学习链表有什么用呢?为了回答这个...
05 | 数组:为什么很多编程语言中数组都从0开始编号? 提到数组,我想你肯定不陌生,甚至还会自信地说,它很简单啊。 是的,在每一种编程语言中,...
04 | 复杂度分析(下):浅析最好、最坏、平均、均摊时间复杂度 上一节,我们讲了复杂度的大O表示法和几个分析技巧,还举了一些常见复杂度分析的例...
03 | 复杂度分析(上):如何分析、统计算法的执行效率和资源消耗? 我们都知道,数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运...
02 | 如何抓住重点,系统高效地学习数据结构与算法? 你是否曾跟我一样,因为看不懂数据结构和算法,而一度怀疑是自己太笨?实际上,很多人在第一次...
01 | 为什么要学习数据结构和算法? 你是不是觉得数据结构和算法,跟操作系统、计算机网络一样,是脱离实际工作的知识?可能除了面试,这辈子也用不...