The Algorithms logo
算法
关于我们捐赠

数据结构

数组中的平衡索引

查找和为 0 的三元组

将二维数组索引到一维数组

第 K 大元素

两个数组的中位数

和为给定值的数对

二叉搜索树

递归二叉搜索树

二叉树节点和

二叉树路径和

二叉树的直径

二叉树的不同视图

将二叉树扁平化为链表

地板和天花板

2022 年中序树遍历

最近公共祖先

最大树状数组

合并两棵二叉树

非递归线段树

可能的二叉树数量

序列化和反序列化二叉树

不相交集

布隆过滤器

带链表的哈希表

最近邻搜索

双端队列(双向)

双向链表二

弗洛伊德循环检测

从序列中创建

是否有循环

是否是回文

合并两个列表

链表的中间元素

循环队列(链表实现)

使用列表实现优先级队列

使用两个栈实现队列

伪栈上的队列

戴克斯特拉双栈算法

中缀表达式转后缀表达式

中缀表达式转前缀表达式

下一个更大元素

后缀表达式求值

前缀表达式求值

使用两个队列实现栈

带双向链表的栈

带单向链表的栈

股票跨度问题

局部最大点

局部最大点数

键优先级队列

最小优先级队列

循环检测 II

合并两个已排序的链表

反转单向链表

单向循环链表

使用 2 个栈实现队列

表达式求值

二叉搜索树 2

使用链表实现循环队列

循环链表

循环链表主程序

不相交集路径压缩

不相交集联合秩

使用数组实现链表

列表数组

Morris 中序遍历

使用数组实现队列

使用数组实现队列 2

使用链表实现队列

使用两个栈实现队列

反转链表

使用数组实现栈

使用队列实现栈

现代 Trie 树

使用哈希映射实现 Trie 树

最近最少使用缓存

两阶段 P 集

不相交集并查集

动态数组

二分图 DFS

Boruvka 算法

Tarjans 算法

Welsh Powell 算法

使用数组实现通用哈希映射

使用数组列表实现通用哈希映射

哈希映射(库克哈希)

线性探测哈希映射

斐波那契堆

递归计数单向链表

创建和检测循环

合并 K 个已排序的链表

合并已排序的数组列表

合并已排序的单向链表

快速排序链表

旋转单向链表

递归搜索单向链表

通用数组列表队列

优先级队列

栈数组列表

简单 AVL 树

从已排序数组构建 BST

通用递归 BST

二叉搜索树中的上限

检查二叉树是否是有效的 BST

检查二叉树是否平衡

检查树是否对称

从中序和前序遍历创建二叉树

最近公共祖先

打印树的顶部视图

检查两棵树是否相同

树随机节点

垂直顺序遍历

之字形遍历

最近右侧键

单词按字母顺序排序

广度优先搜索

广度优先搜索队列

深度优先搜索

递归深度优先搜索

哈密顿路径

升序优先级队列

循环双向链表

列表中的中间元素

单向链表删除

弗洛伊德算法

计数最小草图

范围最小查询

递归线段树

优先级队列

链表中的循环

合并已排序的列表

查找数组中所有重复的数字

查找最高海拔

获取所有其他元素的乘积

最大乘积子数组

最富有的客户财富

最短单词距离

只出现一次的数字

对数组元素平方后排序

已排序数组的交集

近似回文检查器

两数之和 II

不相交集

不常见的单词

数据结构

基本二叉搜索树

链表双端队列

中位数堆

前缀聚合列表

已排序集合

哈希映射集合