Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
B

bigsai-algorithm

> 编程语言
Open source

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

680 stars0 likes0 views
WebsiteGitHub

About

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

前言

本仓库主要是个人数据结构与算法文章(慢慢优化同步)和力扣剑指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 重要性
冒泡排序、快速排序 交换类排序 ❤️❤️❤️❤️
插入排序、希尔排序 插入类排序 ❤️❤️
归并排序 归并类排序 ❤️❤️❤️❤️
简单选择排序、堆排序 选择类排序 ❤️❤️❤️
桶排序 桶类排序 ❤️❤️
计数排序 桶类排序 ❤️❤️❤️
基数排序 桶类排序 ❤️❤️
十大排序汇总 搞清各种排序之间的区别 ❤️❤️❤️❤️
双轴快排 快排的优化 ❤️❤️

力扣题解 下面有分类

  • LeetCode 01两数相加 数组 哈希
  • LeetCode 02两数之加 链表 数学
  • LeetCode 03无重复字符的最长子串 哈希 双指针 滑动窗口 字符串
  • LeetCode 04寻找两个正序数组的中位数(困难)二分法数组 二分 分治
  • LeetCode 05最长回文子串字符串(中心扩散) 马拉车(待补充)
  • LeetCode 06Z字形变换 字符串
  • LeetCode 07整数反转 数学
  • LeetCode 08字符串转整数 数学 字符串
  • LeetCode 09回文数 数学
  • LeetCode 10正则表达式匹配 dp 字符串
  • LeetCode 11盛水最多的容器 数组 双指针
  • LeetCode 12整数转罗马数字.md 数学 字符串
  • LeetCode 13罗马数字转整数.md 数学 字符串
  • LeetCode 14最长公共前缀.md 字符串
  • LeetCode 15三数之和(双指针).md 数组 双指针
  • LeetCode 16最接近的三数之和.md 数组 双指针
  • LeetCode 17电话号码的字母组合.md 字符串 回溯
  • LeetCode 18四数之和.md 数组 哈希 双指针
  • LeetCode 19删除链表的倒数第N个节点.md 链表 双指针
  • LeetCode 20有效的括号.md 栈 字符串
  • LeetCode 21合并两个有序列表.md 链表
  • LeetCode 22括号生成.md 字符串 回溯算法
  • LeetCode 23合并K个升序链表.md 排序 链表
  • LeetCode 24两两交换链表中的节点.md 链表
  • LeetCode 25K个一组翻转链表.md 链表
  • LeetCode 26删除排序数组中的重复项.md 数组 双指针
  • LeetCode 27移除元素.md 数组 双指针
  • LeetCode 28实现strStr().md 字符串(kmp sunday)
  • LeetCode 29两数相除.md 数组 二分
  • LeetCode 30串联所有单词得字串.md 哈希 双指针 字符串
  • LeetCode 31下一个排列.md 数组 数学(全排列)
  • LeetCode 32最长有效括号(困难).md 字符串 数组(栈)
  • LeetCode 33搜索旋转排序数组.md 数组 二分查找
  • LeetCode 34在排序数组中查找元素的第一个和最后一个位置.md 数组 二分查找
  • LeetCode 35搜索插入位置.md 数组 二分查找
  • LeetCode 36有效的数独.md 哈希
  • LeetCode 37解数独.md 哈希 回溯
  • LeetCode 38外观数列.md 字符串(模拟过程)
  • LeetCode 39组合总和.md 数组 回溯
  • LeetCode 40组合总数(回溯).md 数组 回溯
  • LeetCode 41缺失的第一个正数.md 数组(妙用)
  • LeetCode 42接雨水.md 栈 数组 双指针
  • LeetCode 43字符串相乘.md 数组 字符串(模拟)
  • LeetCode 44通配符匹配.md 贪心 字符串 dp
  • LeetCode 45跳跃游戏.md 贪心 数组
  • LeetCode 46全排列.md 回溯 递归
  • LeetCode 47全排列Ⅱ.md 回溯 递归
  • LeetCode 48旋转图像.md 数组 (模拟)
  • LeetCode 49字母异位词分组.md 哈希 字符串
  • LeetCode 50Pow(x,n).md 数学(快速幂) 二分
  • LeetCode 51N皇后.md 回溯
  • LeetCode 52n皇后Ⅱ.md 回溯
  • LeetCode 53最大子序列和.md 数组 分治 dp
  • LeetCode 54螺旋矩阵.md 数组(模拟)
  • LeetCode 55跳跃游戏.md 贪心 数组
  • LeetCode 56合并区间.md 排序 数组
  • LeetCode 57插入区间.md 排序 数组
  • LeetCode 58最后一个单词长度.md 字符串
  • LeetCode 59螺旋矩阵Ⅱ.md 数组(模拟)
  • LeetCode 60排列序列.md 数学(全排列)
  • LeetCode 61旋转链表.md 链表 双指针
  • LeetCode 62不同路径.md 数组 dp
  • LeetCode 63不同路径Ⅱ.md 数组 dp 搜索
  • LeetCode 64最小路径和.md 数组 dp
  • LeetCode 65有效数字.md 数组 字符串 (状态机)
  • LeetCode 66加一.md 数组
  • LeetCode 67二进制求和.md 数学 字符串
  • LeetCode 68文本左右对齐.md 字符串
  • LeetCode 69x的平方根实现.md 二分查找
  • LeetCode 70爬楼梯.md 动态规划
  • LeetCode 71简化路径.md 栈 字符串
  • LeetCode 72编辑距离(dp).md 动态规划
  • LeetCode 73矩阵置零.md 数组 原地算法
  • LeetCode 74搜素二维矩阵.md
  • LeetCode 75颜色分类.md
  • LeetCode 76最小覆盖子串.md
  • LeetCode 77组合.md
  • LeetCode 78子集.md
  • LeetCode 79单词搜索.md
  • LeetCode 80删除排序数组中的重复项2.md
  • LeetCode 81搜索旋转排序数组2.md

算法分类

搜索

  • LeetCode 29两数相除
  • LeetCode 51N皇后
  • LeetCode 22括号生成
  • [LeetCode 10正则表达式匹配(动态规划)](l

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Java

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言