转载来源:http://blog.csdn.net/youfangyuan/article/details/7874958
1. Libnabo
libnabo 是一个快速为低维度空间提供K最近邻居算法库。它提供了一个干净的,传统的无标量类型无关的C ++模板API。
示例代码:
#include "nabo/nabo.h"
using namespace Nabo;
using namespace Eigen;
...
NNSearchF* nns = NNSearchF::createKDTreeLinearHeap(M);
const int K = 5;
VectorXi indices(K);
VectorXf dists2(K);
nns->knn(q, indices, dists2, K);
https://github.com/ethz-asl/libnabo
2. 数据结构算法库 DSAL
Data Structure & Algorithm Library (DSAL) 是一个经典的数据结构和算法库。
主要特性:
no exception, and ability to work without exception
exception safety
template interface
flexible choice
programming by contract
no library to link
STL similar
support multi-compiler, support multi-platform
http://sourceforge.net/projects/dsal/
3. 数论库 FLINT
FLINT 是一个数论库,用C语言编写,它包括一个非常快的多项式算法库。
http://www.oschina.net/p/libmmseg
http://www.coreseek.cn/opensource/mmseg/
CDS是一个 C++ 模板库,包含 lock-free and fine-grained 算法。
包含一系列并发数据结构的实现:
顺序支持的原子操作
SMR算法
数据结构:
栈
队列: Michael & Scott lock-free 和 read/write lock-based, Moir et al algo, Ladan-Mozes & Shavit optimistic queue, bounded (ring-buffered) algos
有序列表: Michael's algo, Lazy list algo
图: Michael hash-map, Split-ordere list by Ori Shalev & Nir Shavit
同步-lock with different back-off technique
new in 0.8.0 Michael's memory allocator. 参见 cds::memory::michael::Heap
CDS大部分是 header-only,少数算法和数据结构在DLL(SO)库中,详情参见文档。
http://libcds.sourceforge.net/
hashlib++ 是一个简单易用的用来生成 checksum 算法,或者成为 “哈希” 的 C++ 库,可用来生成 MD5 和 SHA1 哈希算法。
http://hashlib2plus.sourceforge.net/
libcstl是使用c语言编写的一个通用的数据结构和常用的算法库,它模仿SGI STL的接口和实现,支持vector,list,deque等等常用的数据结构,同时还支持排序,查找,划分等常用的算法,此外libcstl也包含迭 代器的类型,它作为容器和算法之间的桥梁。libcstl为C语言编程中的数据管理提供了便利。
https://github.com/activesys/libcstl
Botan 是一个 C++ 的加密算法库,支持 AES, DES, SHA-1, RSA, DSA, Diffie-Hellman 等多种算法,支持 X.509 认证以及CRLs 和 PKCS #10 ,这里是一段示例代码。
9. 计算几何算法库 CGAL
CGAL ,计算几何算法库,是一个大型C + +库的几何数据结构和算法,如Delaunay三角网,网格生成,布尔运算的多边形,以及各种几何处理算法。 CGAL是用来在各个领域:计算机图形学,科学可视化,计算机辅助设计与建模,地理信息系统,分子生物学,医学影像学,机器人学和运动规划,和数值方法。
MyMediaLite 是一个轻量级的多用途的推荐系统的算法库。
它解决了两个最常见的场景的协同过滤:
评分预报 (1-5)
通过一些隐式的反馈进行预测