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

建手机网站要多少钱手机网站模板开发工具

建手机网站要多少钱,手机网站模板开发工具,网站开发需呀那些技术,免费微网站平台那个好一、位图的引入 先来看下边一道面试题#xff1a; 给40亿个不重复的无符号整数#xff0c;没排过序。给一个无符号整数#xff0c;如何快速判断一个数是否在这40亿个数中。 经过我们之前的学习#xff0c;我们可能会有以下的思路#xff1a; 对这些数进行排序#xff…一、位图的引入 先来看下边一道面试题 给40亿个不重复的无符号整数没排过序。给一个无符号整数如何快速判断一个数是否在这40亿个数中。 经过我们之前的学习我们可能会有以下的思路 对这些数进行排序再通过二分算法查找这个数是否存在 插入到unordered_set中使用find函数查找是否存在 上述方法看起来还不错二分查找算法时间复杂度为logN,而插入到unordered_set中时间复杂度为O(N),而查找时时间复杂度为O(1)但是都有一个问题就是要将空间不足40亿个无符号整形需要160亿字节的空间大概就是16GB的空间一般计算机的内促都是4G或者8G所以空间不足此时就有了位图的方法来解决 数据是否在给定的整形数据中结果是在或者不在刚好是两种状态那么可以使用一个二进制比特位来代表数据是否存在的信息如果二进制比特位为1代表存在为0代表不存在。比如 对于上图来说有一个整形数组我们可以使用直接定址法对数组的数据进行映射但是与之前不同的是此时只是使用一个比特位来代表一个整形数据当这个数存在时比特位置1不存在时比特位置0,此时就可以大大节省空间资源无符号整数只有2的32次方个所以最多开2的32次方个空间一个空间为一个比特所以最终只需要512MB的空间。但是我们不能按照位来空间最少必须一个字节所以我们就每次开一个字节的空间也就是8个比特位将8位当做一个整体来处理对要保存的数据除8就是第几个字节对保存的数据模8就是在这个字节中的第几个位置。 二、位图的概念 所谓位图就是用每一位来存放某种状态适用于海量数据数据无重复的场景。通常是用来判断某个数据存不存在的。 那么位图还有哪些应用呢 快速查找某个数据是否在一个集合中 排序 去重 求两个集合的交集、并集等 操作系统中磁盘块标记 位图模拟实现 一、构造函数 由于不能按位开空间所以我们选择每次开一个字节的空间由于有范围最大为N一位关联一个数据所以需要开N/8个字节的空间但是有时可能不能整除所以要开N/81个字节的空间。所以 直接在构造函数中开好空间 bitset(){_bits.resize(N / 8 1,0);} 二、setresettest函数 set函数的作用是对位图中的某一位进行填充 i就表示是第几个字节而j表示该位在该字节中的第几位所以对1进行左移j位后与该字节按位或按位或的作用时不论该位为0还是为1都将该位变为1。 void set(size_t x){int i x / 8;int j x % 8;_bits[i] | (1 j);} reset的作用是将某一位清空 同样的将要清空的那一位置为0进行按位与不论原本该位是0还是1都将该位置0 void reset(size_t x){int i x / 8;int j x % 8;_bits[i] ~(1 j);} test的作用是检测位图中某一位是否存在 bool test(size_t x){int i x / 8;int j x % 8;return _bits[i] (1 j);} 三、代码测试 void test_bit_set1(){bitset100 bs1;bs1.set(8);bs1.set(9);bs1.set(20);cout bs1.test(8) endl;cout bs1.test(9) endl;cout bs1.test(20) endl;bs1.reset(8);bs1.reset(9);bs1.reset(20);cout bs1.test(8) endl;cout bs1.test(9) endl;cout bs1.test(20) endl;} 四、完整代码 namespace tmt {templatesize_t Nclass bitset{public:bitset(){_bits.resize(N / 8 1,0);}void set(size_t x){int i x / 8;int j x % 8;_bits[i] | (1 j);}void reset(size_t x){int i x / 8;int j x % 8;_bits[i] ~(1 j);}bool test(size_t x){int i x / 8;int j x % 8;return _bits[i] (1 j);}private:vectorchar _bits;};void test_bit_set1(){bitset100 bs1;bs1.set(8);bs1.set(9);bs1.set(20);cout bs1.test(8) endl;cout bs1.test(9) endl;cout bs1.test(20) endl;bs1.reset(8);bs1.reset(9);bs1.reset(20);cout bs1.test(8) endl;cout bs1.test(9) endl;cout bs1.test(20) endl;}
http://www.hkea.cn/news/14362911/

相关文章:

  • 网站跟软件有什么区别是什么阿里云服务器怎么用
  • 手机模板网站制作百度推广管理
  • 长沙 网站设计 公司价格流量套餐汇总网站
  • 网站301跳转有坏处吗wordpress 163 授权码
  • 重庆网站建设 渝tp框架做网站的优点
  • 浅谈网站建设的目的和意义国外皇色网站
  • 欧美网站设计手游游戏推广平台
  • 网站开发计入无形资产吗网站建设课设总结报告
  • 手机创建网站教程番禺核酸检测点免费
  • 网站编辑楼盘详情页怎么做西宁网站建设公司哪家好
  • 图书管理系统网站开发设计过程莱芜论坛话题
  • 免费网站制作模板next.js做纯静态网站
  • 作者自己建立的网站wordpress 文档预览
  • 贵阳百度推广电话网站优化的链接建设
  • 什么是手机网站企业网站建设时间表
  • 做网站上传的图片大小wordpress 翻页设置
  • 建设网站的公司哪家好商业网站建设与维护
  • 中国的网站建设数据分析医院做网站备案需要哪些资料
  • 海口网站建设过程注册公司要花多少费用
  • 百度行业网站怎么做家庭装修图片
  • 南宁建设局网站wordpress 文件夹名称
  • 做网站完整过程html编辑器有哪些
  • 浙江网站建设多少钱php网站开发实训感想
  • 中国建设银行分行网站常州新北建设局网站
  • 提高网站建设管理水平如何建立公司自己的网站
  • 如何自己做一个网站seo关键词排行优化教程
  • 阿雷网站建设建设网站公开教学视频下载
  • 网站浏览器兼容性通用wordpress开启子站
  • 做网站用的图片分辨率建手机版网站
  • 网站搭建用什么软件高品质的网站设计制作