所有算法都位于单独的 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 算法
BrkgaMpIpr.jl为具有隐式路径重新链接的多亲偏向随机密钥遗传算法 ( BRKGA-MP-IPR )提供了一个非常易于使用的框架。假设您有一个解码器来解决您的问题,我们可以在少于 5 个命令中设置、运行和提取最佳解决方案的值(显然,您可能需要很少的其他代码行来进行正确的测试)。 这个 Julia 版本提供了一个像 C/C++ 一样快的框架,像 Python 一样易于编码,而且它比 Matlab 便宜得多(实际上,免费)。单元和覆盖测试已完全实施,所有伪随机测试数据都经过精心设计以保证可重复性(尽管某些测试可能会因为随机数生成器的不同版本而失败)。因此,BrkgaMpIpr.jl应该适合在生产环境中使用。 如果 Julia 不适合您,我们可能会发现 C++ 版本有用。 我们还在开发 处于早期阶段的Python 版本。目前,我们没有计划以其他语言(如 Java 或 C#)实现 BRKGA-MP-IPR。但如果你想这样做,你是必须欢迎的。但是请保持 API 尽可能接近 C++ API(或 Julia API,以防您决定使用 C),并使用您选择的语言/框架的最佳编码和文档实践。
2022-06-10 10:03:41 24.79MB julia 算法
Astellarn 是一个简单的国际象棋项目,可以满足我自己的好奇心,学习棋盘表示、引擎原理和算法 核心代表: 位板表示。 用于生成滑动攻击的魔法位板。 Zobrist 哈希。 发动机特点: Alpha-Beta 搜索。 迭代深化。 吸气窗。 徒劳的修剪。 后期搬家减少。 剃须刀。 空移动修剪。 静止搜索。 Delta 修剪。 静态交换评估。 移动订购。 杀手动作。 反动作。 历史启发式。 MVV-LVA 启发式。 通过 Fathom (c-library) 进行 Syzygy 表库探测。 转置哈希表。 典当哈希表。 朱莉娅功能: FEN 位置导入。 彩色 REPL 输出。 引擎接口。 UCI 接口。
2022-06-10 10:03:40 2.01MB julia 算法
在Julia中构建 CSG 对象的算法和语法 ConstructiveGeometry.jl提供通过基本图元和 CSG 操作定义 2d 形状和 3d 实体的功能,以及用于显示这些对象并输出到 SVG 或 STL 文件的功能。 以下功能现在应该主要工作: 2d 形状:正方形、圆形、多边形、路径描边; 3d 形状:立方体、球体、圆柱体、圆锥体、显式曲面; 布尔运算,线性变换; 2d->3d 挤压(线性、圆锥、旋转、曲线); 3d->2d投影和切片; 凸包和 Minkowski 总和(2d、3d、混合维度); 偏移量(2d 和 3d); 表面抽取、精炼和循环细分; 使用用户提供的函数进行体积变形; 从 STL 和 PLY 导入,并导出到 STL、PLY 和 SVG。
2022-06-10 10:03:39 404KB julia 算法
在 Julia 中实现博弈论算法 通过在 Julia REPL 中运行以下代码来添加 Nash
2022-06-10 10:03:38 33KB julia 算法
为 Julia 语言编写的一组数值算法,可用于教育或函数式编程目的 这是当前支持的算法列表。 梯形法 牛顿法 割线法 线性代数(不完整) 辛普森的方法 Romberg 积分算法(理查森外推的应用) 节点转换 高斯正交(2 和 3 点积分) Runge-Kutta 算法(2、3 和 4 阶) 两点之间的距离 计算三角形的斜边 三角形面积(使用点) 附加牛顿-科茨规则 将极坐标转换为笛卡尔坐标 R2 和 R3 中的雅可比矩阵评估 R2 中的 Wronskian 矩阵评估 希尔伯特矩阵 切比雪夫节点的计算
2022-06-10 10:03:38 10KB 算法 julia
Julia 中的动态时间规整 (DTW) 和相关算法
2022-06-10 10:03:36 52KB julia 算法