摘要和特点 RsGenetic 是一个在 Rust 中执行遗传算法的框架。它旨在具有简单但模块化的 API。
2022-06-10 18:05:00 34KB 算法 rust
地理形状的布尔运算 这是Martinez-Rueda 多边形裁剪算法在 rust 中的一个实现,可以平滑地集成到已经存在的地理空间库 georust/geo中。
2022-06-10 18:04:59 508KB rust 算法
rustc 中使用的快速哈希算法。liballoc 中的 hashmap 默认使用 SipHash,它并没有我们想要的那么快。在编译器中,我们并不真正担心 DOS 尝试,因此我们使用快速非加密哈希。 这与 Firefox 使用的算法相同——它是一种不基于任何广为人知的算法的自制算法——尽管经过修改以生成 64 位散列值而不是 32 位散列值。它始终优于 rustc 本身中基于 FNV 的哈希——冲突率与 FNV 相似或略差,但哈希函数本身的速度要高得多,因为它一次最多可以处理 8 个字节。
2022-06-10 18:04:59 11KB rust 算法
要进行基准测试和绘图(您需要R和ggplot2)
2022-06-10 18:04:58 13KB rust 算法
Freeverb 算法的 Rust 实现。 Schroeder 混响器 Freeverb 算法为每个音频通道使用四个串联的 Schroeder 全通和八个并行的 Schroeder-Moorer 滤波-反馈梳状滤波器(第2.6.5节),据说调谐得特别好。 与原始实现有几个(有意的)差异: 为简单起见,延迟线缓冲区是动态分配的。这可能会对性能产生影响,一旦通用常量可用,我想将缓冲区设为静态。 内部使用 64 位处理,而原始处理是 32 位。我可能会在某个时候使样本类型可配置,但现在 64 位处理似乎是一个明智的默认设置。
2022-06-10 18:04:58 106KB rust 算法
向迭代器添加一个方法,该方法返回对数据的排序迭代器。排序是使用快速排序算法延迟实现的
2022-06-10 18:04:57 12KB rust sua
所有算法都位于单独的 crate 中,并使用signaturecrate 中的特征实现。
2022-06-10 18:04:56 102KB rust 算法
这是 Cassowary 约束求解算法的 Rust 实现。 Cassowary 旨在解决布局用户界面的约束。约束通常采用“此按钮必须与此文本框对齐”或“此框应尝试为其他框大小的 3 倍”的形式。到目前为止,它最受欢迎的化身是 Apple 用于 Mac OS X 和 iOS 用户界面的 Autolayout 系统。使用 Cassowary 算法的 UI 库设法实现了一种比 HTML 中的传统方法更自然的方法来指定 UI 布局。 这个库是求解算法的低级接口,尽管它试图尽可能方便。因此,它对常见的用户界面约定(如矩形区域甚至二维)没有任何内在知识。这些抽象属于更高级别的 crate。
2022-06-10 18:04:55 26KB rust sua
排序算法 气泡 桶 鸡尾酒调酒器 数数 循环 交换 堆 插入 侏儒 合并 奇偶 饼子 快的 基数 选择 壳 傀儡 梳子 桶 蒂姆索特 图表 迪杰斯特拉 Kruskal 的最小生成树 Prim 的最小生成树 广度优先搜索 (BFS) 深度优先搜索 (DFS) 贝尔曼福特 普鲁弗代码 最低共同祖先 重轻分解 Tarjan 的强连接组件 拓扑排序 质心分解 Dinic 的最大流量 数学 婴儿步巨步算法 扩展欧几里得算法 高斯消除 最大公约数 n个数的最大公约数 n 个数的最小公倍数 米勒拉宾素性检验 帕斯卡三角形 牛顿法的平方根 快速功率算法 完美的数字 主要原因 素数 线性筛 Pollard 的 Rho 算法 二次残差 辛普森积分规则 快速傅里叶变换 阿姆斯壮数 置换同余随机数生成器 Zeller 的同余算法 Karatsuba 乘法算法 动态规划 0-1 背包 编辑距离 最长公共子序列 最长连续递增子序列 最长递增子序列 K-Means 聚类 硬币变化 等等
2022-06-10 14:04:22 176KB rust 算法
通过 ADMM 进行的 Total Variation 彩色图像去噪。导出两个不同的求解器,tvd使用稀疏数组求解,tvd_fft使用傅里叶域求解。
2022-06-10 10:03:42 56KB julia 算法