算法数据结构

万物皆结构,万法归算法

「算法与数据结构真解」

以算法思想与数据结构为核心,贯穿不同编程语言的实现。这里不问语言门派,只探算法本源。


「数据结构篇」· 万物皆结构

📊 「刷题一统春秋」

📊 「线性结构」

「数组与链表」:内存的连续与离散之美
  • C 列表实战 —— 从指针到链表的演练记录。
  • 计划:动态数组扩容策略、双向链表实现比较
「栈与队列」:后进先出与先进先出的哲学
  • 计划:递归调用栈剖析、消息队列应用场景
  • 计划:双端队列的妙用、优先队列实现方案

🌳 「树形结构」

「二叉树」:二分思想的具象化
  • 计划:二叉搜索树增删查、AVL树旋转平衡
  • 计划:红黑树原理图解、B树在数据库中的应用
「堆结构」:优先级的艺术
  • 计划:二叉堆实现、堆排序的原地版本
  • 计划:Top K 问题的多种解法对比

🔑 「哈希世界」

「哈希表」:从键到值的瞬间映射
  • 计划:哈希冲突解决策略、布谷鸟哈希原理
  • 计划:一致性哈希在分布式系统中的运用

🕸️ 「图论基石」

「图的表示」:邻接矩阵与邻接表的抉择
  • 路线规划 —— Grid-Based Route (Re-)Planning
  • 计划:稠密图与稀疏图的存储优化

「算法篇」· 思维的模式

🔍 「搜索算法」

「深度优先」:一条路走到黑的探索
  • 计划:回溯法解数独、排列组合问题模板
「广度优先」:层层递进的扩张
  • 计划:最短路径问题、状态空间搜索

🔄 「排序算法」

「比较排序」:基于比较的秩序建立
  • 计划:快速排序优化、归并排序的迭代实现
  • 计划:堆排序的建堆技巧
「非比较排序」:突破O(nlogn)的界限
  • 计划:计数排序的适用场景、基数排序的位数处理

🧩 「动态规划」

「经典模型」:从斐波那契到背包问题
  • 计划:状态定义技巧、状态转移方程推导
  • 计划:背包九讲精要、区间DP的遍历顺序
「字符串DP」:编辑距离与最长公共子序列
  • 计划:DNA序列比对中的DP应用

⚡ 「贪心算法」

「局部最优」:何时贪心能得全局最优
  • 计划:区间调度问题、霍夫曼编码构造

✂️ 「分治思想」

「大事化小」:递归分解的艺术

  • 计划:最近点对问题、矩阵乘法的Strassen算法

「高级专题」· 思想的融合

🎯 「算法设计范式」

「双指针」:相向而行的智慧
  • 计划:滑动窗口模板、快慢指针判环
「位运算」:0与1的魔法
  • 计划:状态压缩技巧、位操作优化

📈 「复杂度分析」

「时间空间」:算法效率的度量衡

  • 计划:主定理的应用、均摊分析实例

「实战演练」· 知行合一

💻 「LeetCode精讲」

「高频题目」:面试常考题型深度解析
  • 计划:每题多语言实现、多种解法对比
  • C语言趣味算法 —— 汉诺塔、百鸡百钱、常胜将军、约瑟夫环。

🏆 「竞赛算法」

「ACM模板」:竞赛常用算法模板库
  • 计划:并查集优化、线段树懒更新