Daachorse 是一个使用Aho-Corasick 算法进行快速多重模式匹配的 crate ,在输入文本的长度上以线性时间运行。对于时间和内存效率,模式匹配自动机是使用紧凑的双数组数据结构实现的。该数据结构不仅支持恒定时间的状态到状态遍历,而且在只有 12 个字节的紧凑空间中表示每个状态。 例如,与Rust 中最流行的 Aho-Corasick 实现的 aho-corasick crate的NFA相比, 当使用675K 模式。
2022-06-11 18:06:28 3.44MB rust 算法
Mersenne Twister PRNG算法的Rust实现
2022-06-11 18:06:27 7KB rust 算法
随心压缩算法 介绍 Xpress 压缩算法具有三种变体,均专为提高速度而设计。最快的变体 Plain LZ77 实现了 LZ77 算法 ( UASDC )。较慢的变体 LZ77+Huffman 在 LZ77 数据上添加了 Huffman 编码通道。第三个变体 LZNT1 实现了 LZ77,没有第二个变体的霍夫曼编码通道,但编码过程没有普通 LZ77 复杂。 概述 该算法有效地压缩包含重复字节序列的数据。它不是为压缩图像、音频或视频数据而设计的。在压缩大小和 CPU 成本的权衡之间,它非常强调低 CPU 成本。 与协议和其他算法的关系 该算法不依赖于任何其他算法或协议。它是一种压缩方法,旨在将压缩和解压缩的 CPU 开销降至最低。依赖于该算法的协议通常需要传输大量数据,而这些数据不能轻易地被具有更好压缩率的另一种算法预压缩。 适用性声明 该算法适用于任何传输大量易于压缩的文本类数据的协议,例如 HTML、源代码或日志文件。协议使用此算法来减少传输的位数。
2022-06-11 18:06:26 428KB 算法 rust
QuickLZ 是一种快速压缩算法。该库实现了算法版本 1.5.0(自 2011 年以来的最新版本)。针对压缩级别 1 和 3 执行压缩和解压缩。
2022-06-11 18:06:26 25KB rust 算法
Rust 的 Fang-Oosterlee 期权定价 在 Rust 中实现Fang-Oosterlee期权定价
2022-06-11 18:06:24 16KB 算法 rust
这个 Rust crate 使用 PAM 实现了 k-medoids 聚类。它可以与任意相异物一起使用,因为它需要一个相异矩阵作为输入。
2022-06-11 18:06:24 40KB rust 算法
全部: utxo 更改为仅包含 utxo 偏移量而不是整个哈希 交易只需要一个签名,而不是对每个 utxo 输入进行签名 联网 将 pow 算法从 sha256 更改为更耐 asic 的东西。(也许是 Nerva 的算法?) 可以通过切换到 Schnorr 来提高安全性和内存 O(n) -> O(1)(因此我们可以在每个 tx 中批量签名,因为 sum(sig) 验证 sum(keys)) 基于 Utxo 的加密货币使用 sha256 散列算法和 secp256k1 椭圆曲线上的 ecdsa 签名 序列化输出/utxo 版本 -- 2 个字节 值 -- 4 个字节 所有者 -- 32 字节 序列化输入 utxo hash -- 32 bytes <-- 这是从 Sha256([utxo, blockheader, index in utxos of block]) 创建的 信号大小 -- 1 字节 签名sig 大小-- 67-70 字节 序列化交易 版本 -- 2 个字节 输入计数n -- 1 字节 序列化输入n -- 99-102 字节 输出计数z -- 1 字节 序列化输出z
2022-06-11 18:06:23 22KB rust 算法
rust 编写的神经进化框架。 如何使用 以下是如何训练手推车杆平衡神经网络,可在 examples/dir 中找到。 唯一的system有3个参数: 输入神经元数 输出神经元数 返回一个适应度函数f64
2022-06-11 18:06:22 40KB 算法 rust
Rust 中实现Porter 词干算法。它对字形集群而不是字符进行操作,因此您的输入流可以混合内容
2022-06-11 18:06:22 120KB 算法 rust
Rendezvous(又称最高随机权重)哈希算法的 Rust 实现。
2022-06-11 18:06:21 9KB 算法 rust