1. 首页
  2. 考试认证
  3. 其它
  4. CSBitVectorsC#中的简洁位向量实现

CSBitVectorsC#中的简洁位向量实现

上传者: 2024-12-16 12:45:10上传 ZIP文件 33.91KB 热度 10次

CSBitVectors 这是:称为简洁位向量的数据结构的C#实现。一个简洁的位向量是:一个用“索引”增强的位向量,使得与向量本身的大小相比,索引的大小“无关紧要”,该索引用于在亚线性时间内回答以下查询:

rank : 返回向量给定范围内0或1的数量

rank : BitVector -> Nat -> {0, 1} -> Nat

rank vec k b = |{i | i <- [0, ..., k) vec[i] = b }|

(注意,上面声称指定的范围是排他性的: i<- [0, ..., k),一些形式主义改为使用包含性定义范围: i <- [0, ..., k])

select : 返回第k次出现0或1的位置:

select : BitVector -> Nat -> {0, 1} -> Nat

select vec k b

下载地址
用户评论