C/C++ 开源算法库

365bet赌城网址 🌸 2025-10-30 12:10:31 🎨 admin 👁️ 4809 ❤️ 97
C/C++ 开源算法库

本文收集各种 C 和 C++ 优质的科学计算算法开源代码库。数值优化的世界,这些算法库功能强大、快速、高效、优雅,拿去比较普通人编写的算法代码,会发现自己的代码卑贱的如同草芥蝼蚁一般。

1. GSL

GNU Scientific Library (GSL) 是一个用于科学计算的C/C ++ 语言类库。有超过1000个函数,算是比较全面。不过在某些方面还有不足,比如优化没有遗传算法,粒子群算法等,积分性能不如cuba。

函数包括:

复数

多项式的根

特殊功能

向量和矩阵

排列

排序

BLAS支持

线性代数

特征系统

快速傅立叶变换

正交

随机数

拟随机序列

随机分布

统计数据

直方图

n元组

蒙特卡洛积分

模拟退火

微分方程

插补

数值微分

切比雪夫逼近

系列加速

离散汉克尔变换

寻根

最小化

最小二乘拟合

物理常数

IEEE浮点数

离散小波变换

基础样条

运行统计

稀疏矩阵和线性代数

2. Cuba

Cuba提供四种积分方法库,包含三种蒙特卡洛积分和一种精确积分。这几个方法的性能要好于GSL中提供的蒙特卡洛积分。

3. Boost

Boost 是为 C++ 语言标准库提供扩展的一些 C++ 程序库的总称。其中也包含了和科学计算有关的库。

数学和数字库包括:

Accumulators库:用于增量计算的累加器的框架

Integer库:提供一组有关整数处理的类

Interval库:处理区间概念的数学问题

Math库:数学领域的模板类和算法

Math Common Factor库:用于支持最大公约数和最小公倍数

Math/Special Functions库:数学上一些常用的函数

Math/Statistical Distributions库:用于单变量统计分布操作

Multi-Array库:多维容器

Numeric Conversion库:用于安全数字转换的一组函数

Operators库:允许用户在自己的类里仅定义少量的操作符,就可方便地自动生成其他操作符重载,而且保证正确的语义实现

Random库:专注于伪随机数的实现,有多种算法可以产生高质量的伪随机数

Rational库:实现了没有精度损失的有理数

uBLAS库:用于线性代数领域的数学库

Geometry库:用于解决几何问题的概念、原语和算法

Ratio库:根据C++ 0x标准N2661号建议,实现编译期的分数操作

Multiprecision库:提供比C++内置的整数、分数和浮点数精度更高的多精度数值运算功能

Odeint库:用于求解常微分方程的初值问题

其中分布函数包括:

Arcsine Distribution反正弦分布

Bernoulli Distribution伯努利分布

Beta Distribution Beta分布

Binomial Distribution二项分布

Cauchy-Lorentz Distribution柯西洛伦兹分布

Chi Squared Distribution卡方分布

Empirical Cumulative Distribution Function经验累积分布函数

Exponential Distribution指数分布

Extreme Value Distribution极值分配

F DistributionF分布

Gamma (and Erlang) Distribution伽玛(和Erlang)分布

Geometric Distribution几何分布

Hyperexponential Distribution超指数分布

Hypergeometric Distribution超几何分布

Inverse Chi Squared Distribution逆卡平方分布

Inverse Gamma Distribution逆伽马分布

Inverse Gaussian (or Inverse Normal) Distribution高斯逆分布(或正态逆分布)

Kolmogorov-Smirnov Distribution柯尔莫哥罗夫-斯米诺夫分布系

Laplace Distribution拉普拉斯分布

Logistic Distribution增长分布

Log Normal Distribution对数正态分布

Negative Binomial Distribution负二项分布

Noncentral Beta Distribution非中央Beta分布

Noncentral Chi-Squared Distribution非中心卡方分布

Noncentral F Distribution非中心F分布

Noncentral T Distribution非中心T分布

Normal (Gaussian) Distribution正态(高斯)分布

Pareto Distribution帕累托分布

Poisson Distribution泊松分布

Rayleigh Distribution瑞利分布

Skew Normal Distribution偏正态分布

Students t Distribution学生t-分布

Triangular Distribution三角分布

Uniform Distribution均匀分布

Weibull Distribution威布尔分布

4. Eigen

Eigen 是一个线性算术的C++模板库,包括:线性代数、矩阵、矢量运算、数值分析以及相关算法。功能强大、快速、优雅以及支持多平台。

5. MTL

Matrix Template Library(MTL)专注于线性代数相关的计算任务,如各种形式矩阵的生成(对角,共轭,稀疏,对称等),相关的计算,变换,以及与一维向量的运算。

6. FFTW

FFTW 是一个C语言的快速傅立叶变换库。它包括复杂的,真实,对称的,多层面的,和并行转换,并且可以处理任意大小的efficiently.It阵列通常比其他免费提供的FFT实现更快,更与供应商的调整库(基准可在网页查阅)竞争。为了实现这一性能,它使用新的代码生成和运行时的自我优化技术(以及许多其他的技巧)。

7. GAlib

GAlib遗传算法库,包含四种遗传算法,GAListGenome 链表形、GATreeGenome 树形、GAArrayGenome 数组形、GABinaryString 二进制串形。

8. libGeneiAL

libGeneiAL可扩展遗传算法库。它提供了一个框架,可通过使用自定义适应度函数在生成过程中最大化种群中染色体的适应度值来解决优化问题。该库为用户提供了高度的灵活性和可扩展性,同时还为核心功能提供了良好的可扩展性。

9. libfgen

libfgen是一个实现高效且可自定义的遗传算法(GA)的库。它还提供了粒子群优化(PSO)功能和用于实值函数最小化或模型拟合的接口。它是用C编写的,但是也可以使用C ++编译器进行编译。

特征

人口数量固定,可快速高效地实施通用Analytics(分析)。

具有多种选择,变异和交叉类型的可定制GA。

应用程序可以提供自定义的种子,变异和交叉运算符。

线程安全的,可以将多个线程用于适应度计算或并发遗传算法的群岛。

具有类似于GA的API的粒子群优化算法。

使用GA或PSO的高级易用模型拟合和功能最小化界面。

在真实数据集上进行了测试(系外行星的轨道与恒星径向速度数据的拟合)。

使用提供的文档清除HTML(html)。

提供了命令行和图形示例程序。

例子包括旅行商问题,线性遗传规划和纹理压缩。

10. C++ Wavelet Libraries

C++ Wavelet Libraries是C ++小波变换算法库专注于速度和易用性。

可用功能包括

一维DWT和IDWT实现(两种模式)

2DWT和IDWT的实现(两种模式)

一维SWT和ISWT实现(固定小波变换)

2D SWT实施

使用FFTW3库实现

11. KFilter

KFilter卡尔曼滤波器的开源算法库。提供了可配置的模板类。子类允许为过滤器定义不同的矩阵内容。卡尔曼滤波器在航空,机器人视觉和机器人技术中已经使用了一段时间。估计状态向量并通过使用从传感器获取的度量来校正估计是有用的。它的主要用途是用于跟踪或数据融合。

12. Dlib

Dlib主要为深度学习服务的算法库,包含深度学习相关的优化算法,也包含一些图形图像处理,主要为深度学习的实现服务。被广泛的用在行业和学术领域,包括机器人,嵌入式设备,移动电话和大型高性能计算环境。

13. MRPT

Mobile Robot Programming Toolkit (MRPT)机器人编程算法库,主要是机器人相关的定位,计算机视觉图像处理,运动规划相关的算法。

14. Algorithms - C++

Algorithms - C++算法涵盖了计算机科学,数学和统计学,数据科学,机器学习,工程等多个主题。

回溯

图形着色

骑士之旅

极小值

N皇后区

N Queens所有解决方案均已优化

Nqueen打印所有解决方案

老鼠迷宫

数独解决

位操作

汉明距离

密码

凯撒密码

希尔密码

摩尔斯电码

Vigenere密码

Xor密码

数据结构

AVL树

二进制搜索树

二进制搜索树2

二进制堆

使用链表的循环队列

循环链表

循环链表

循环链表

main cll

不相交集

双链表

链表

链表实现使用数组

列表数组

莫里森阶

队列

使用数组排队

使用Array2进行排队

使用链接列表排队

使用链表排队

使用两个堆栈进行排队

跳过清单

使用数组堆叠

使用链表堆叠

测试队列

测试堆栈

考试堆栈学生

树234

特里现代

特里树

动态编程

0 1背包

阿姆斯特朗数

贝尔曼·福特(Bellman Ford)

加泰罗尼亚语数字

硬币找零

硬币找零自上而下

切杆

编辑距离

鸡蛋丢拼图

斐波那契自下而上

弗洛伊德·沃沙尔(Floyd Warshall)

kadane

kadane 2

最长的普通琴弦

最长公共子序列

最长递增子序列

最长递增子序列(Nlogn).cpp)

最长回文序列

矩阵链乘法

回文分区

动态数组中元素的搜索

最短的通用超序列

树高

断字

几何学

Jarvis算法

线段相交

图形

双向最短路径算法

广度优先搜索

无向图所有割边的Tarjan算法

连接的组件

使用Dsu连接组件

循环检查有向图

深度优先搜索

深度优先搜索堆栈

迪克斯特拉

汉密尔顿周期

霍普克罗夫特·卡普(Hopcroft Karp)

图是二分图的吗

Kosaraju

克鲁斯卡尔

最低共同祖先

福特·富尔克森和埃德蒙·卡普·阿尔戈

原始

拓扑排序

拓扑排序按Kahns Algo

图形学

旋描仪

贪婪算法

迪克斯特拉

霍夫曼

跳跃游戏

背包

Kruskals最小生成树

Prims最小生成树

散列

链式

双哈希哈希表

线性探测哈希表

二次探测哈希表

线性代数

克·施密特(Gram Schmidt)

机器学习

Adaline学习

Kohonen Som拓扑

Kohonen Som Trace

神经网络

普通最小二乘回归器

矢量操作

数学

阿姆斯特朗数

二元指数

二项式计算

检查友好对

检查阶乘

检查Prime

复数

双阶乘

欧拉Totient功能

扩展欧几里得算法

阶乘

快速电源

斐波那契

斐波那契快速

斐波那契大

斐波那契矩阵求幂

斐波那契总和

Gcd迭代欧几里得

N个数字的Gcd

Gcd递归欧几里得

大阶乘

大数字

最大功率

Lcm总和

最小公倍数

幻数

米勒·拉宾(Miller Rabin)

模块化部门

模幂

模逆费马小定理

N选择R

Ncr模数P

正除数的数量

大量数字的力量

二的力量

素因数分解

质数

灌注至十亿

实时统计

Eratosthenes筛

平方双

弦斐波那契

二项式系数之和

数字总和

矢量叉积

数值方法

二等分法

布伦特方法极值

杜兰德·克纳(Durand Kerner Roots)

错误的位置

高斯消除

黄金搜索极值

卢分解

卢分解

牛顿拉夫森法

颂歌前奏欧拉

颂德中点欧拉

颂德半隐式欧拉

Qr分解

Qr分解

Qr本征值

龙格库塔

逐次逼近

数据结构操作

阵列左旋转

阵列向右旋转

通报链表

使用数组的循环队列

获取链接列表的大小

2个数组的交集

使用撤消反向链接列表

选择排序链表

尝试多重搜索

2个数组的并集

其他

蜂鸣号

十进制到二进制

十进制到十六进制

十进制到罗马数字

快速整数输入

快乐号码

矩阵求幂

数字回文

肢体匹配

帕斯卡三角形

后缀评估

原始性测试

最小圆

稀疏矩阵

螺旋印花

楼梯图案

河内塔

向量重要功能

可能性

加法规则

贝叶斯定理

二项式距离

泊松区

范围查询

芬威克树

重光分解

持久的Seg树懒惰支柱

赛格特里

稀疏表

搜索

二元搜寻

指数搜索

斐波那契搜索

哈希搜索

插值搜索

插值搜索2

跳转搜索

线性搜寻

中位数搜索

鞍背搜索

三元搜索

文字搜寻

排序

珠子排序

双音排序

宝高排序

气泡排序

桶分类

鸡尾酒选择排序

梳状排序

计数反转

计数排序

计数排序字符串

循环排序

侏儒排序

堆排序

插入排序

图书馆排序

合并插入排序

合并排序

非递归合并排序

数字字符串排序

奇偶排序

薄煎饼排序

鸽眼排序

快速排序

快速排序3

基数排序

基数排序2

选择排序

贝壳排序

壳牌Sort2

慢排序

链排序

掉期排序

蒂姆·索特(Tim Sort)

摆动排序

字符串

蛮力字符串搜索

霍斯浦

克努斯·莫里斯·普拉特(Knuth Morris Pratt)

拉宾·卡普(Rabin Karp)

参考链接:C/C++ 开源算法库

相关推荐

DNS服务器IP地址: 180.76.76.76
365bet赌城网址

DNS服务器IP地址: 180.76.76.76

📅 07-24 👁️ 2105
帕斯托雷达到预期了吗?什么制约了他的成长?
365网站买球违法吗

帕斯托雷达到预期了吗?什么制约了他的成长?

📅 09-05 👁️ 9181
逝去日子
365网站买球违法吗

逝去日子

📅 08-13 👁️ 519