The Algorithms logo
算法
关于我们捐赠
回溯法

生成括号

骑士巡游

幻方序列

极小化极大算法

N 皇后问题

N 皇后问题所有解(优化)

N 皇后问题打印所有解

老鼠走迷宫

子数组和

数独求解器

位操作

统计翻转位数

统计集合位数

统计 N 的阶乘中尾随零的数量

查找不重复数字

查找具有相同集合位数的下一个更大的数

设置第 K 位

使用位操作的旅行商问题

密码

A1Z26 密码

埃特巴什码

Base64 编码

凯撒密码

椭圆曲线密钥交换

希尔密码

莫尔斯电码

Uint128 类型

Uint256 类型

维吉尼亚密码

异或密码

压缩

霍夫曼编码

转换

十进制转二进制

十进制转十六进制

CPU 调度算法

先来先服务调度

数据结构

二叉搜索树

二叉搜索树 2

布隆过滤器

使用链表的循环队列

循环链表

循环链表

循环链表(主函数)

不相交集

不相交集路径压缩

不相交集联合秩

使用数组实现链表

数组列表

Morris 中序遍历

使用数组实现队列

使用数组实现队列 2

使用链表实现队列

使用链表实现队列

使用两个栈实现队列

反转链表

使用数组实现栈

使用单链表实现栈

使用队列实现栈

现代 Trie 树

使用哈希表实现 Trie 树

最近公共祖先

后缀表达式求值

分治法

Karatsuba 快速乘法算法

Strassen 矩阵乘法

归并排序

动态规划

通配符匹配

0-1 背包问题

卡特兰数

硬币找零

硬币找零(自顶向下)

切割钢条

编辑距离

鸡蛋掉落问题

斐波那契数列(自底向上)

弗洛伊德-沃歇尔算法

Kadane 算法

Kadane 算法 2

最长公共字符串

最长公共子序列

最长递增子序列

最长递增子序列 (Nlogn)

最长回文子序列

矩阵链乘法

最大环形子数组

最小编辑距离

回文分割

分割问题

在动态数组中搜索元素

最短公共超序列

树的高度

单词拆分

背包问题

斐波那契数列

游戏

记忆游戏

几何

格雷厄姆扫描算法

格雷厄姆扫描算法函数

贾维斯算法

线段交点

图形

旋轮线


Bellman-Ford 算法

双向 Dijkstra 算法

广度优先搜索

使用 Tarjan 算法查找桥

连通分量

使用不相交集查找连通分量

有向图环检测

深度优先搜索

使用栈的深度优先搜索

Dijkstra 算法

哈密顿回路

Hopcroft-Karp 算法

判断图是否为二分图

判断图是否为二分图 2

Kosaraju 算法

克鲁斯卡尔算法

使用 Ford-Fulkerson 和 Edmond-Karp 算法求最大流

普里姆算法

使用 Kahn 算法进行拓扑排序

旅行商问题

Dijkstra 算法

贪心算法

Boruvka 最小生成树算法

跳跃游戏

克鲁斯卡尔最小生成树算法

普里姆最小生成树算法

散列

双重散列哈希表

线性探测哈希表

二次探测哈希表

线性代数

高斯消元法

机器学习

A* 搜索算法

Adaline 学习算法

K 近邻算法

Kohonen 自组织映射拓扑结构

Kohonen 自组织映射轨迹

神经网络

普通最小二乘回归器

向量运算

数学

阿姆斯壮数

真因子和

近似圆周率

阿姆斯壮数

二进制指数

二项式计算

检查亲和数对

检查阶乘

双阶乘

埃拉托色尼筛法

欧拉函数

扩展欧几里得算法

快速幂

斐波那契数列(快速)

大数斐波那契数列

斐波那契数列(矩阵快速幂)

斐波那契数列求和

查找数字的位数

欧几里得算法(迭代)

N 个数的最大公约数

欧几里得算法(递归)

积分近似

积分近似 2

快速平方根倒数

迭代阶乘

大数阶乘

最大幂

最小公倍数

最小公倍数

线性递推矩阵

米勒-拉宾素性测试

模幂运算

模逆元(费马小定理)

模逆元(简单)

N-Bonacci 数列

Ncr 模 P

正因数个数

大数幂运算

2 的幂

质因数分解

十亿以内素数

复数二次方程

实时统计

埃拉托色尼筛法

双精度平方根

字符串斐波那契数列

二项式系数求和

数字各位数之和

向量叉积

二分法

QR 分解

龙格-库塔法

矩阵快速幂

矩阵

帕斯卡三角形

螺旋打印

数值方法

巴比伦方法

布伦特方法(求极值)

复合辛普森法则

杜兰德-克纳根法(求根)

快速傅里叶变换

黄金分割法(求极值)

格拉姆-施密特正交化

逆快速傅里叶变换

中点积分法

牛顿-拉夫森方法

常微分方程前向欧拉法

常微分方程中点欧拉法

常微分方程半隐式欧拉法

QR 算法(求特征值)

逐次逼近法

数据结构操作

使用数组实现循环队列

获取链表长度

BST 的中序后继

两个数组的交集

使用递归反转链表

链表选择排序

Trie 树多关键字搜索

两个数组的并集

其他

Buzz 数

十进制转罗马数字

复活节计算

快速整数输入

迭代树遍历

Kadane 算法 3

开尔文温度转摄氏温度

LRU 缓存

数字回文

括号匹配

递归树遍历

最小圆覆盖

稀疏矩阵

阶梯图案

汉诺塔

向量重要函数

物理

平抛运动

概率

加法规则

贝叶斯定理

二项分布

几何分布

泊松分布

滑动窗口中位数

区间查询

重链剖分

莫队算法

持久化线段树(懒惰传播)

前缀和数组

搜索

二分查找

指数搜索

斐波那契搜索

弗洛伊德循环检测算法

哈希搜索

插值搜索

插值搜索 2

跳跃搜索

线性搜索

中位数搜索

中位数搜索 2

马鞍点搜索

子列表搜索

三分查找

文本搜索

排序

拓扑排序

珠排序

二分插入排序

位序排序

愚人排序

冒泡排序

桶排序

鸡尾酒选择排序

梳排序

统计逆序对

计数排序

字符串计数排序

循环排序

DNF 排序

矮人排序

堆排序

插入排序

库排序

归并插入排序

非递归归并排序

数字字符串排序

奇偶排序

煎饼排序

鸽巢排序

快速排序

快速排序 3

快速排序 迭代

基数排序

基数排序 2

随机枢轴快速排序

递归冒泡排序

选择排序 迭代

选择排序 递归

希尔排序

希尔排序 2

慢速排序

愚人排序

串排序

交换排序

Tim排序

波浪排序

锯齿排序

字符串

汉明距离

Boyer Moore算法

暴力字符串搜索

Horspool算法

Knuth Morris Pratt算法

Manacher算法

Rabin Karp算法