算法数据结构
万物皆结构,万法归算法
「算法与数据结构真解」
以算法思想与数据结构为核心,贯穿不同编程语言的实现。这里不问语言门派,只探算法本源。
「数据结构篇」· 万物皆结构
📊 「刷题一统春秋」:
📊 「线性结构」:
「数组与链表」:内存的连续与离散之美
- C 列表实战 —— 从指针到链表的演练记录。
- 计划:动态数组扩容策略、双向链表实现比较
「栈与队列」:后进先出与先进先出的哲学
- 计划:递归调用栈剖析、消息队列应用场景
- 计划:双端队列的妙用、优先队列实现方案
🌳 「树形结构」:
「二叉树」:二分思想的具象化
- 计划:二叉搜索树增删查、AVL树旋转平衡
- 计划:红黑树原理图解、B树在数据库中的应用
「堆结构」:优先级的艺术
- 计划:二叉堆实现、堆排序的原地版本
- 计划:Top K 问题的多种解法对比
🔑 「哈希世界」:
「哈希表」:从键到值的瞬间映射
- 计划:哈希冲突解决策略、布谷鸟哈希原理
- 计划:一致性哈希在分布式系统中的运用
🕸️ 「图论基石」:
「图的表示」:邻接矩阵与邻接表的抉择
- 路线规划 —— Grid-Based Route (Re-)Planning
- 计划:稠密图与稀疏图的存储优化
「算法篇」· 思维的模式
🔍 「搜索算法」:
「深度优先」:一条路走到黑的探索
- 计划:回溯法解数独、排列组合问题模板
「广度优先」:层层递进的扩张
- 计划:最短路径问题、状态空间搜索
🔄 「排序算法」:
「比较排序」:基于比较的秩序建立
- 计划:快速排序优化、归并排序的迭代实现
- 计划:堆排序的建堆技巧
「非比较排序」:突破O(nlogn)的界限
- 计划:计数排序的适用场景、基数排序的位数处理
🧩 「动态规划」:
「经典模型」:从斐波那契到背包问题
- 计划:状态定义技巧、状态转移方程推导
- 计划:背包九讲精要、区间DP的遍历顺序
「字符串DP」:编辑距离与最长公共子序列
- 计划:DNA序列比对中的DP应用
⚡ 「贪心算法」:
「局部最优」:何时贪心能得全局最优
- 计划:区间调度问题、霍夫曼编码构造
✂️ 「分治思想」:
「大事化小」:递归分解的艺术
- 计划:最近点对问题、矩阵乘法的Strassen算法
「高级专题」· 思想的融合
🎯 「算法设计范式」:
「双指针」:相向而行的智慧
- 计划:滑动窗口模板、快慢指针判环
「位运算」:0与1的魔法
- 计划:状态压缩技巧、位操作优化
📈 「复杂度分析」:
「时间空间」:算法效率的度量衡
- 计划:主定理的应用、均摊分析实例
「实战演练」· 知行合一
💻 「LeetCode精讲」:
「高频题目」:面试常考题型深度解析
- 计划:每题多语言实现、多种解法对比
- C语言趣味算法 —— 汉诺塔、百鸡百钱、常胜将军、约瑟夫环。
🏆 「竞赛算法」:
「ACM模板」:竞赛常用算法模板库
- 计划:并查集优化、线段树懒更新