算法通关手册(LeetCode)
简介
算法通关手册(LeetCode) 是一本系统讲解算法与数据结构、涵盖 LeetCode 题解的中文学习手册,项目地址为 https://algo.itcharge.cn/ 。本书不仅仅只是一本算法题解书,更是一本算法与数据结构基础知识的讲解书,提供超详细的「算法与数据结构」基础讲解教程,以及「LeetCode 1000+ 道」经典题目详细解析。
项目易于理解,没有大跨度的思维跳跃,使用大量图示、例子来帮助理解。先从基础的数据结构和算法开始讲解,再针对不同分类的数据结构和算法进行具体题目的讲解分析,让读者通过「算法基础理论学习」和「编程实战学习」相结合的方式彻底掌握算法知识。此外,项目从各大知名互联网公司面试算法题中整理汇总了「LeetCode 200 道高频面试题」,帮助面试者更有针对性地准备面试。
目标读者
- 拥有 Python 编程基础或其他编程语言基础的编程爱好者
- 对 LeetCode 刷题感兴趣或准备算法面试的面试人员
- 对算法感兴趣的计算机专业学生或程序员
- 想要提升编程思维和问题解决能力的开发者
内容结构
本书采用算法与数据结构相结合的方法,主要内容分为以下几个部分:
- 0. 序言:介绍数据结构与算法的基础知识、算法复杂度、LeetCode 的入门和攻略。
- 1. 数组:讲解数组的基本概念、数组的基本操作。
- 2. 链表:讲解链表的基本概念、操作和应用,包括单链表、双向链表、循环链表等。
- 3. 栈、队列、哈希表:详细介绍栈、队列、哈希表这三种数据结构及其基本概念、实现方式、应用场景和相关经典算法题。
- 4. 字符串:讲解字符串的基本操作、单字符串匹配算法、多字符串匹配算法及相关经典算法题。
- 5. 树结构:介绍树的基本概念、二叉树、二叉搜索树、线段树、树状数组、并查集等。
- 6. 图论:讲解图的基本概念、表示方法、遍历算法和经典应用。
- 7. 基础算法:介绍枚举、递归、分治、回溯、贪心以及位运算等基本算法思想。
- 8. 动态规划:介绍动态规划的基础知识、各种动态规划题型的解法。
- 9. 附加内容:全书的扩展模块。
- 10. 题目解析:讲解 LeetCode 上刷过的所有题目,可按对应题号进行检索和学习。
使用说明
- 电子书左侧提供完整的章节目录导航,可直接点击跳转至相应内容。
- 右上角配有搜索栏,便于快速查找所需章节和题解文章。
- 集成了 giscus 评论系统,可在页面底部评论区留言(需 GitHub 账号登录)。
- 建议按章节顺序系统学习,逐步掌握各知识点;也可根据兴趣自由选择章节阅读。
- 每篇内容末尾设有练习题,建议及时完成以加深理解、巩固所学。
相关说明
关于作者
作者是一名 iOS / macOS 开发程序员,研究生毕业于北航软件学院,曾参加 3 年 ACM 比赛。从 2021 年 03 月 30 日开始每日在 LeetCode 刷题,目前已刷 1800+ 道题目,完成 1000+ 道题解。
互助与勘误
限于作者水平和经验,书中难免有纰漏和谬误,欢迎在每页评论区留言或致信作者邮箱 i@itcharge.cn 批评指正。
版权说明
本书采用「知识署名—非商业性使用—禁止演绎(BY-NC-ND)4.0 协议国际许可协议」进行许可;题解中的所有题目版权均归 LeetCode 和力扣中国所有。