## 前言
本仓库主要是个人数据结构与算法文章(慢慢优化同步)和力扣剑指offer等题解。内容绝对丰富,欢迎star哦!
本仓库后面还会接纳其他优秀数据结构与算法的文章、题解。如果有问题请联系笔者vx:bigsai66
资源会会整理成pdf送给大家!欢迎大家扫码关注公众号:**bigsai**
![数据结构与算法](assets/数据结构与算法.png)
## 数据结构与算法
**基础线性**
| 标题 | tips | 重要性 |
|--------------------------------| ------------------------------------------------------------ | ------ |
| [绪论基础知识](数据结构与算法/数据结构/数据结构与算法—绪论.md) | 搞懂数据结构相关概念,认清时间复杂度、空间复杂度 | ❤️❤️ |
| [写给小白硬核递归](数据结构与算法/算法/数据结构与算法—递归算法.md) | 从阶乘、斐波那契、汉诺塔搞懂递归,妙用记忆化递归 | ❤️❤️❤️❤️ |
| [图解线性表(顺序表、链表)](数据结构与算法/数据结构/数据结构于算法—线性表.md) | **手写顺序表、链表**,搞懂带头结点、不太头结点链表实现区别。 | ❤️❤️❤️ |
| [图解双链表](数据结构与算法/数据结构/数据结构与算法—双链表.md) | 手写双链表,考虑好节点直接联系(基础,考研重点) | ❤️❤️ |
| [栈,不就后进先出](数据结构与算法/数据结构/数据结构与算法—栈详解.md) | 首先掌握后进先出规则,实现上分别用顺序表和链表考虑区别 | ❤️❤️❤️ |
| [队列,不就先进先出](数据结构与算法/数据结构/数据结构与算法—队列详解.md) | 队列先进先出(FIFO),用**循环数组**和**链表**分别实现 | ❤️❤️❤️ |
| [跳表,会跳的链表](数据结构与算法/数据结构与算法—跳表.md) | 能够了解跳表的增删改查原理和流程 | ❤️❤️ |
| [约瑟夫环问题](数据结构与算法/约瑟夫环问题.md) | 约瑟夫环步步进阶,链表法、List模拟、公式法 | ❤️❤️❤️ |
| | | |
**树**
| 标题 | tips | 重要性 |
|---------------------------------------------------------| -------------------------------------------------------- | ------ |
| [二叉树层序遍历](数据结构与算法/数据结构/数据结构与算法—二叉树的层序遍历.md) | 学会使用队列进行层序遍历,高效解决二叉树之字形(锯齿)遍历 | ❤️❤️❤️ |
| [二叉树前中后遍历](数据结构与算法/数据结构/数据结构与算法—二叉树前序中序后序(递归、非递归)遍历.md) | 学会中序和后序非递归方式遍历 | ❤️❤️❤️❤️ |
| [二叉搜索(查找)树](数据结构与算法/数据结构/数据结构与算法—二叉排序树.md) | 学会二叉查找树查找方式、删除节点逻辑 | ❤️❤️ |
| [二叉平衡(AVL)树](数据结构与算法/数据结构/数据结构与算法—二叉平衡树(AVL树)详解.md) | 了解AVL树左旋、右旋方式,以及RR,RL,LL,LR的平衡方式 | ❤️❤️ |
| [哈夫曼树](数据结构与算法/数据结构与算法—哈夫曼树详解与构造.md) | 了解哈夫曼树weight计算方式、了解哈夫曼编码 | ❤️❤️❤️ |
| [字典(Trie)树](数据结构与算法/数据结构与算法—字典树.md) | 能够手写字典树,熟悉字典树的应用场景和优势, | ❤️❤️ |
| [优先队列](数据结构与算法/硬核!手写一个优先队列.md) | 了解优先队列借助堆运行原理 | ❤️❤️ |
| [并查集(不想交集合)](数据结构与算法/数据结构与算法——并查集(不相交集合).md) | 能够手写并查集,理解压缩路径的优势 | ❤️❤️ |
| [并查集写走迷宫游戏](数据结构与算法/我花了一夜用数据结构给女朋友写个H5走迷宫游戏.md) | **全网爆火**:我花了一夜给女朋友写了个走迷宫游戏 | ❤️❤️❤️❤️ |
| | | |
**其他**
| 标题 | tips | 重要性 |
|----------------------------------------------------------------| ------------------------------------------------------------ | ------ |
| [回溯算法(八皇后)](数据结构与算法/算法/回溯算法-追忆那些年曾难倒我们的八皇后问题.md) | 回溯是一个不断尝试还原的过程,借助递归,经典八皇后问题 | ❤️❤️❤️ |
| [分治算法](数据结构与算法/「五大常用算法」一文搞懂分治算法.md) | 先分后合并,经典二分搜索、快排、归并排序、最近点对等问题 | ❤️❤️❤️ |
| [dfs,bfs搜索](数据结构与算法/算法/数据结构与算法—图论之dfs、bfs(深度优先搜索、广度优先搜索).md) | 深度优先搜索、广度优先搜索,蓝桥杯想拿奖得靠他 | ❤️❤️❤️❤️ |
| [拓扑排序](数据结构与算法/数据结构与算法—拓扑排序.md) | 图论算法,得到一个前后的顺序序列(不唯一) | ❤️❤️ |
| [Dijkstra](数据结构与算法/数据结构与算法—单源最短路径dijkstra算法.md) | 图论单源最短路径,队列+贪心实现 | ❤️❤️ |
| [Floyd](数据结构与算法/短小精悍的多源最短路径算法—Floyd算法.md) | 图论多源最短路径,短小精悍,代码简短但是需要理解 | ❤️❤️ |
| [Prim,Kruskal](数据结构与算法/数据结构与算法—最小生成树(Prim算法和Kruskal算法算法详解).md) | 图论最小生成树,不同贪心策略,Prim基于Dijkstra,Kruskal基于并查集 | ❤️❤️ |
| [全排列系列](数据结构与算法/数据结构与算法—全排列系列.md) | 回溯算法,涉及全排序、排列、子集的重复/不重复情况 | ❤️❤️❤️ |
| [原码反码补码](数据结构与算法/算法/二进制—原码、反码、补码.md) | 二进制基础,原码是给人看的,补码是给计算机看的,反码中间过渡 | ❤️❤️❤️ |
| [经典位运算](数据结构与算法/二进制—位运算.md) | 二进制提高,介绍几种位运算,讲解覆盖大部分经典位运算问题 | ❤️❤️❤️ |
| [求素数(素数筛)](数据结构与算法/数论—素数筛.md) | 数论算法,掌握普通优化、埃氏筛,了解欧拉筛 | ❤️❤️ |
| [快速幂](数据结构与算法/数据结构与算法—这可能是最易懂的快速幂讲解了.md) | 数论算法,掌握非递归、递归写法,了解矩阵快速幂 | ❤️❤️ |
| [大数加减乘除](数据结构与算法/大数算法—加减乘除.md)