mirror of
https://github.com/krahets/LeetCode-Book.git
synced 2026-01-12 00:19:02 +08:00
69070b0163afa3f8d3f0316947c8d638c90312f2
图解算法数据结构
本 Repo 为 LeetBook《图解算法数据结构》配套代码仓库,便于读者 Debug 代码,已全部在 LeetCode 上测试通过。
课程介绍
本 LeetBook 面向算法初学者、互联网求职者设计,帮助同学们从零至一地搭建算法知识体系。
剑指 Offer 图文题解
-
图文详解 75 道题目,覆盖主要算法知识点,适合作为学习算法的 第一份题库 。
-
题库活跃于各大公司的笔面试中,可使笔面试准备事半功倍。
-
作者致力于行文深入浅出、图文搭配,提供简洁的 Python3, Java, C++ 解题代码。
数据结构与算法专栏
-
基础知识: 时间复杂度、空间复杂度等算法知识。
-
数据结构: 数组、栈、队列、字符串、链表、树、图、堆、哈希表。
-
算法专题: 分治算法、动态规划、搜索与回溯算法、查找算法、贪心算法、排序、位运算、双指针、模拟、数学。
适合人群
- 互联网算法、软件岗位求职者。
- 从零开始接触数据结构与算法的同学。
- 具有一定编程基础,计划系统学习算法的同学。
刷题计划
笔者整理了本刷题计划,核心理念为从易到难、从基础类题目到综合类题目,供希望按照知识点类型顺序刷题的小伙伴们参考。行百里者半九十,坚持一个月刷完,一起加油!
精选算法专栏
数据结构简介
建议对数据结构不熟悉的同学,先看这篇熟悉用法。
- 常用数据结构「分类」和「基本特点」;
- 在算法中,数据结构的「常用操作」;
- 在 Python3 , Java , C++ 语言中,各数据结构的初始化与构建方法。
算法复杂度
复杂度是算法优劣性的有力评价指标,对于理解算法起着至关重要的作用。
- 什么是时间复杂度、空间复杂度?
- 「时间复杂度」和「空间复杂度」的概念定义、符号表示、常见种类、时空权衡。
- 时间与空间复杂度的示例解析、示例题目。
动态规划
动态规划是算法重难点,值得重点关注、理解与练习。
- 动态规划问题特点,动态规划和分治算法的联系与区别;
- 借助例题介绍重叠子问题和最优子结构分别是什么,以及动态规划是如何解决它们的;
- 动态规划的解题框架总结;
- 动态规划的练习例题,从易到难排序;
排序算法简介
排序是最经典的算法问题之一,由浅入深的多种算法涵盖多个算法知识点(例如暴力搜索、分治算法、堆数据结构等)。
- 排序算法分类方法,包括稳定性 、就地性 、自适应性;
- 排序算法与二分查找、双指针算法之间的关系;
- 各主要排序算法的时间复杂度与空间复杂度;
Description
《剑指 Offer》 Python, Java, C++ 解题代码,LeetBook《图解算法数据结构》配套代码仓
algorithmalgorithmsalgorithms-and-data-structuresdata-structuredata-structuresjavaleetcodeleetcode-cppleetcode-javaleetcode-pythonpythonsword-for-offer
Readme
CC-BY-SA-4.0
956 KiB
Languages
Java
41.1%
Python
30.7%
C++
28.2%
