01 新手篇 在基础数据结构与算法中精进
第一章-线性表基础
1、链表(List)及经典问题2、线程池与任务队列(Task-Queue)3、递归与栈(Stack):解决表达式求值第二章-树结构基础
1、二叉树(Binary-Tree)与经典问题2、堆(Heap)与优先队列3、并查集(Union-find)及经典问题第三章-排序算法
1、快速排序(Quick-Sort)及优化2、归并排序(Merge-Sort):从二路到多路3、算法杂谈系列(Algorithm):有趣的排序思想第四章-查找与搜索
1、二分算法(Binary-Search):致敬经典,超越经典2、哈希表(Hash-Table)与布隆过滤器(Bloom-Filter)3、深搜(DFS)与广搜(BFS):初识问题状态空间02 高手篇:数据结构与算法进阶
03 极客篇:走进伟大的算法思想
第十章-金融系统中的 RSA 算法
第十一章-傅立叶变换与信息隐写术
第十二章-状态机模型与语言解释器
《Java算法精进之路》
第一章:线性表基础
1、JDK数组和链表底层源码分析2、JDK线程池与任务队列源码分析3、JDK递归与JVM栈原理分析4、LRU缓存算法之JDK源码实现及Redis实现第二章:树结构基础
1、Java二叉树(Binary-Tree)经典实现与作用2、Java堆(Heap)与优先队列3、Java并查集(Union-find)实现网络人群关系4、Java平衡二叉树设计加速数据定位5、JDK中各种树结构的源码解读第三章:排序算法
1、Java常见排序算法的案例源码分析2、Java通过排序实现业务数据的快速归位3、Spring源码中如何通过Comparator进行排序4、MySQL中sort排序的原理第四章:查找与搜索
1、二分算法(Binary-Search)在Java生态中的应用2、Java通过哈希表(Hash-Table)快速实现精准定位3、布隆过滤器(Bloom-Filter)在Redis中是如何解决缓存穿透问题4、深搜(DFS)与广搜(BFS):初识问题状态空间第五章:单调栈与单调队列
1、SpringCloudAlibaba Sentinel中滑动窗口算法源码解读2、Java实现单调栈(Monotone-Stack)案例第六章:手撕平衡二叉树排序树
1、Java实现AVL树2、JDK HashMap底层源码之红黑树实现3、手撕JDK源码中的AVL树4、数据库索引实现之B+树源码解读5、树和跳表的对比6、Redis中跳表源码的解读第七章:从递推算法到动态规划
1、动态规划使用场景介绍2、动态规划算法理论分析3、Java动态规划算法案例讲解第八章:字符串匹配问题
1、Java字典树(Trie)作用设计2、Java双数组字典树(Double-Array-Trie)实现与场景3、Java实现哈夫曼编码(Halfman-Coding)与二叉字典树第九章:算法杂谈
1、Java算法漫谈系列2、算法到底给Java程序员带来了哪些实质的能力第十章:金融系统中的RSA算法
1、RSA算法实质2、MD5摘要算法实战3、SHA摘要算法实战4、Java常见加密算法对比第十一章:傅立叶变换与信息隐写术
1、傅立叶变换原理讲解2、傅立叶变换在图像处理中的作用3、信息隐写术作用4、Java中的图像隐写术第十二章:状态机模型语言解释器
1、状态机模型讲解2、Java分布式框架状态机3、状态机如何平衡业务流程4、JVM解释器原理讲解