LeetBook《图解算法数据结构》面向算法初学者、互联网求职者设计,主要内容包括:
- 图文详解 75 道题目,覆盖主要算法知识点,非常适合作为算法学习的第一份题库。
- 题库活跃于各大互联网公司招聘中,可使笔面试准备事半功倍。
- 致力于行文深入浅出、图文搭配,提供简洁的 Python3, Java, C++ 解题代码。
- 笔者整理了 30 天刷题计划、题目分类,让刷题有迹可循。
- 基础知识: 时间复杂度、空间复杂度等算法知识。
- 数据结构: 数组、栈、队列、字符串、链表、树、图、堆、哈希表。
- 算法专题: 分治算法、动态规划、搜索与回溯算法、查找算法、贪心算法、排序、位运算、双指针、模拟、数学。
- 互联网算法、软件岗位求职者。
- 从零开始接触数据结构与算法的同学。
- 具有一定编程基础,计划系统学习算法的同学。
「数据结构」
建议对数据结构不熟悉的同学,先看这篇熟悉用法。
- 常用数据结构的分类和基本特点;
- 在算法解题中,数据结构的常用操作;
- 在 Python3 , Java , C++ 语言中,各数据结构的初始化与构建方法。
「算法复杂度」
复杂度是算法优劣性的有力评价指标,对于理解算法起着至关重要的作用。
- 什么是时间复杂度、空间复杂度?
- 时间复杂度和空间复杂度的概念定义、符号表示、常见种类、时空权衡。
- 时间与空间复杂度的示例题目与解析。
「动态规划」
动态规划是算法重难点,也是笔面试重要考点,需要重点理解与练习。
- 动态规划问题特点,动态规划和分治算法的联系与区别;
- 借助例题介绍重叠子问题和最优子结构分别是什么,以及动态规划是如何解决它们的;
- 动态规划的解题框架总结;
- 动态规划的练习例题,从易到难排序;
「排序算法」
排序是最经典的算法问题之一,由浅入深的多种算法涵盖多个算法知识点(例如暴力搜索、分治算法、堆数据结构等)。
- 排序算法分类方法,包括稳定性 、就地性 、自适应性;
- 排序算法与二分查找、双指针算法之间的关系;
- 各主要排序算法的时间复杂度与空间复杂度;
笔者整理了《剑指 Offer 》刷题计划,核心理念为从易到难、从基础类题目到综合类题目,供希望按照知识点类型顺序刷题的小伙伴们参考。行百里者半九十,坚持一个月刷完,一起加油!
若本书对您有所帮助,麻烦请您点个 Star ⭐ 啦,谢谢!
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.