Skip to content

数据结构与算法系列笔记(代码随想录精华)

👋 欢迎来到数据结构与算法系列!

本系列主要整理自"代码随想录"与 Leetcode 经典题解,结合个人理解与实战经验,适合算法初学者和进阶者查阅。内容涵盖数组、链表等核心数据结构与常见算法题型,力求让每一篇都通俗易懂、实用有体系。

为什么要做这个系列?

  • 记录自己在代码随想录算法训练营的刷题经历。
  • 通过做系统化笔记,方便自己复习,也能帮助更多同学高效刷题。
  • 希望把零散的算法知识串成体系,降低入门门槛。

数据结构分类

按照不同的数据结构类型,我将笔记分为以下几个专题:

📚 数组专题

数组是最基础的数据结构之一,也是算法题中最常见的题型。

  • 二分查找
  • 双指针技巧
  • 滑动窗口
  • 矩阵操作

🔗 链表专题

链表是一种常见的线性数据结构,由节点组成,每个节点包含数据和指向下一个节点的指针。

  • 链表的基本操作
  • 虚拟头节点的使用
  • 链表反转
  • 快慢指针技巧

🔍 哈希表专题

哈希表是一种高效的数据结构,支持快速的插入、删除和查找操作。

  • 计数与查找
  • 去重操作
  • 数组作为简易哈希表
  • 多重哈希表应用

📝 字符串专题

字符串是由字符组成的序列,是编程中最常见的数据类型之一。

  • 字符串的基本操作
  • 双指针在字符串中的应用
  • 字符串匹配算法

学习路径

建议按照以下顺序学习各个数据结构:

  1. 数组 - 最基础的数据结构,掌握双指针、二分查找等基本技巧
  2. 链表 - 理解指针操作和链式存储的特点
  3. 哈希表 - 学习高效的查找和统计方法
  4. 字符串 - 结合前面的知识,解决字符串处理问题
  5. 栈与队列 - 掌握这两种重要的线性数据结构(即将更新)
  6. 二叉树 - 树形结构的基础(即将更新)
  7. 回溯算法 - 解决组合、排列等问题(即将更新)
  8. 贪心算法 - 局部最优解决策(即将更新)
  9. 动态规划 - 复杂问题的最优子结构(即将更新)

如果你也在刷 Leetcode 或学习数据结构算法,欢迎一起交流、补充和完善这个系列!💪