Skip to content

Repository files navigation

前言

本仓库主要是个人数据结构与算法文章(慢慢优化同步)和力扣剑指offer等题解。内容绝对丰富,欢迎star哦!

本仓库后面还会接纳其他优秀数据结构与算法的文章、题解。如果有问题请联系笔者vx:bigsai66

资源会会整理成pdf送给大家!欢迎大家扫码关注公众号:bigsai

数据结构与算法

数据结构与算法

基础线性

标题tips重要性
绪论基础知识搞懂数据结构相关概念,认清时间复杂度、空间复杂度❤️❤️
写给小白硬核递归从阶乘、斐波那契、汉诺塔搞懂递归,妙用记忆化递归❤️❤️❤️❤️
图解线性表(顺序表、链表)手写顺序表、链表,搞懂带头结点、不太头结点链表实现区别。❤️❤️❤️
图解双链表手写双链表,考虑好节点直接联系(基础,考研重点)❤️❤️
栈,不就后进先出首先掌握后进先出规则,实现上分别用顺序表和链表考虑区别❤️❤️❤️
队列,不就先进先出队列先进先出(FIFO),用循环数组链表分别实现❤️❤️❤️
跳表,会跳的链表能够了解跳表的增删改查原理和流程❤️❤️
约瑟夫环问题约瑟夫环步步进阶,链表法、List模拟、公式法❤️❤️❤️

标题tips重要性
二叉树层序遍历学会使用队列进行层序遍历,高效解决二叉树之字形(锯齿)遍历❤️❤️❤️
二叉树前中后遍历学会中序和后序非递归方式遍历❤️❤️❤️❤️
二叉搜索(查找)树学会二叉查找树查找方式、删除节点逻辑❤️❤️
二叉平衡(AVL)树了解AVL树左旋、右旋方式,以及RR,RL,LL,LR的平衡方式❤️❤️
哈夫曼树了解哈夫曼树weight计算方式、了解哈夫曼编码❤️❤️❤️
字典(Trie)树能够手写字典树,熟悉字典树的应用场景和优势,❤️❤️
优先队列了解优先队列借助堆运行原理❤️❤️
并查集(不想交集合)能够手写并查集,理解压缩路径的优势❤️❤️
并查集写走迷宫游戏全网爆火:我花了一夜给女朋友写了个走迷宫游戏❤️❤️❤️❤️

其他

标题tips重要性
回溯算法(八皇后)回溯是一个不断尝试还原的过程,借助递归,经典八皇后问题❤️❤️❤️
分治算法先分后合并,经典二分搜索、快排、归并排序、最近点对等问题❤️❤️❤️
dfs,bfs搜索深度优先搜索、广度优先搜索,蓝桥杯想拿奖得靠他❤️❤️❤️❤️
拓扑排序图论算法,得到一个前后的顺序序列(不唯一)❤️❤️
Dijkstra图论单源最短路径,队列+贪心实现❤️❤️
Floyd图论多源最短路径,短小精悍,代码简短但是需要理解❤️❤️
Prim,Kruskal图论最小生成树,不同贪心策略,Prim基于Dijkstra,Kruskal基于并查集❤️❤️
全排列系列回溯算法,涉及全排序、排列、子集的重复/不重复情况❤️❤️❤️
原码反码补码二进制基础,原码是给人看的,补码是给计算机看的,反码中间过渡❤️❤️❤️
经典位运算二进制提高,介绍几种位运算,讲解覆盖大部分经典位运算问题❤️❤️❤️
求素数(素数筛)数论算法,掌握普通优化、埃氏筛,了解欧拉筛❤️❤️
快速幂数论算法,掌握非递归、递归写法,了解矩阵快速幂❤️❤️
大数加减乘除能够手写大数加法、减法、乘法,了解大数除法思想❤️❤️❤️

十大排序

标题tips重要性
冒泡排序、快速排序交换类排序❤️❤️❤️❤️
插入排序、希尔排序插入类排序❤️❤️
归并排序归并类排序❤️❤️❤️❤️
简单选择排序、堆排序选择类排序❤️❤️❤️
桶排序桶类排序❤️❤️
计数排序桶类排序❤️❤️❤️
基数排序桶类排序❤️❤️
十大排序汇总搞清各种排序之间的区别❤️❤️❤️❤️
双轴快排快排的优化❤️❤️

力扣题解 下面有分类

算法分类

搜索

数学

双指针

二分

分治

动态规划

排序

贪心

数据结构分类

链表

哈希

字符串

数组

图论

刷题tips

  • LeetCode 167两数之和② 双指针
  • LeetCode 152 乘积最大子数组 动态规划
  • LeetCode 198 打家劫舍 动态规划
  • LeetCode 213 打家劫舍② 动态规划
  • LeetCode 377 打家劫舍③ 动态规划 (树形DP)

资源会优先在公众号发布,本文档后期也会整理成pdf送给大家!欢迎大家扫码关注公众号:bigsai

欢迎关注

About

bigsai的数据结构与算法、LeetCode图解、剑指offer图解文章专栏,致力于最好懂的数据结构与算法专栏

Resources

Stars

683 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages