当前位置: 首页 > news >正文

有什么网站可以自己做书搜索引擎优化自然排名

有什么网站可以自己做书,搜索引擎优化自然排名,朝阳改版网站,怎么做vip电影网站初识位图bitmap 位图(Bitmap)是一种用于表示和操作位(bit)的数据结构。它是由一系列二进制位(0 或 1)组成的序列,每个位都可以单独访问和操作。 位图常用于以下情况: 压缩存储&…

初识位图bitmap

位图(Bitmap)是一种用于表示和操作位(bit)的数据结构。它是由一系列二进制位(0 或 1)组成的序列,每个位都可以单独访问和操作。

位图常用于以下情况:

  • 压缩存储:位图可以有效地存储大量的布尔值信息,每个位只占用一个比特,因此可以大幅减少存储空间的占用。例如,当需要存储大量的开关状态、标志位或者布尔型数据时,使用位图可以节省内存。

  • 快速查找和查询:由于位图的特殊存储结构,它可以快速进行位的查找和查询。例如,可以用位图表示一组元素的存在与否,然后通过位运算来快速进行成员的查找、去重、交集、并集等操作。

  • 数据压缩和索引:位图可以用于压缩和索引数据,特别是在数据集合较小且有规律的情况下。例如,在数据库中,可以使用位图索引来加速数据的查询操作。

  • 布隆过滤器:布隆过滤器是一种基于位图的概率型数据结构,用于快速判断一个元素是否存在于一个集合中。它通过多个哈希函数和位图来判断元素的存在性,具有较低的空间占用和高效的查询速度。

在实现位图时,常用的数据结构有数组、位集合(bit set)或者使用整型数据类型(如整型数组、位域等)来表示。在现代编程语言中,也常常提供了专门的位图类或库,如 C++ 中的 std::bitset。

总结起来,位图是一种用于表示和操作位的数据结构,它可以节省存储空间、实现快速的位操作,并在许多领域中有着广泛的应用,包括存储、索引、查询、数据压缩等。

实现位图bitmap

#include <iostream>
#include <vector>
using namespace std;
class Bitmap {
private:std::vector<uint8_t> data; // 位图数据存储uint64_t size; // 位图大小(位数)public:Bitmap(uint64_t bitmapSize) {size = bitmapSize;data.resize((size + 7) / 8, 0); // 位图数据初始化为0}void set(uint64_t index) {if (index >= size) {std::cout << "Index out of range." << std::endl;return;}uint64_t byteIndex = index / 8;uint8_t bitOffset = index % 8;data[byteIndex] |= (1 << bitOffset);}bool test(uint64_t index) {if (index >= size) {std::cout << "Index out of range." << std::endl;return false;}uint64_t byteIndex = index / 8;uint8_t bitOffset = index % 8;return (data[byteIndex] & (1 << bitOffset)) != 0;}
};
int main(){const uint64_t bitmapSize = 28; // 位图大小Bitmap bitmap(bitmapSize); // 创建位图// 设置一些位bitmap.set(0);bitmap.set(5);bitmap.set(10);bitmap.set(15);bitmap.set(18);// 测试位状态for (uint64_t i = 0; i < bitmapSize; i++) {std::cout << "Bit " << i << ": " << bitmap.test(i) << std::endl;}return 0;}

c++提供的bitset

#include <iostream>
#include <bitset>int main() {// 创建一个位图,表示 8 个标志位std::bitset<8> bitmap;// 设置第 2 位和第 5 位为 1bitmap.set(2);bitmap.set(5);// 输出位图的值std::cout << "Bitmap: " << bitmap << std::endl;// 获取第 3 位的值bool bit3 = bitmap.test(3);std::cout << "Bit 3: " << bit3 << std::endl;// 清除第 5 位bitmap.reset(5);// 输出位图的值std::cout << "Bitmap: " << bitmap << std::endl;// 获取位图的大小(位数)size_t size = bitmap.size();std::cout << "Bitmap size: " << size << std::endl;return 0;
}

github链接:https://github.com/mulinhu/CPPer/tree/main/util/bitmap_demo

http://www.khdw.cn/news/51517.html

相关文章:

  • wordpress广告插件汉化seo排名专业公司
  • 网页小游戏网址seo评测论坛
  • 中文企业网站html模板智能营销系统开发
  • 怎么评价网站的好坏磁力屋 最好用
  • 做啥网站能挣钱公司企业网站制作
  • 第三方网络营销平台百度关键词搜索优化
  • 社交网站怎么做百度搜索引擎广告投放
  • 怎么做html5网站优化设计答案大全英语
  • 文件网站建设百度搜索排名查询
  • 服饰的网站建设新闻头条最新消息今天
  • 开店做网站产品推广ppt
  • 有什么可以接单做的网站刷排名seo软件
  • 济源市网站建设广州优化防控措施
  • 泰安可以做网站的公司seo网站介绍
  • 政府网站功能分析 选做网络营销与传统营销的整合
  • 网站定制公司地址b2b免费外链发布
  • 昆明网站制作工具seo高级教程
  • 绵阳网站建设信赖辉煌惠州网站营销推广
  • 网站建设步骤及分工网络营销课程速成班
  • 永州企业网站开发软文推广服务
  • 网站后台问题日本域名注册
  • 做暧昧网站seo推广优化
  • 小程序推广员好做吗seo提高网站排名
  • 网站meta 优化建议百度seo关键词排名优化工具
  • 怎么做游戏门户网站seo流量排名工具
  • 网站建设技术咨询协议免费放单平台无需垫付
  • 做优惠券网站如何引流博客推广工具
  • 深圳好看的网站建设哪家公司好重庆seo关键词排名
  • 威海专业做网站设计的公司seo推广优势
  • 青岛网站建设-中国互联百度app客服人工在线咨询