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

移动网站建设wordpress 上传

移动网站建设,wordpress 上传,太突然我国突然宣布,宁波网站建设托管目录 问题:给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中。 2.简单实现一个位图 3.如何利用位图求两个集合的交集、并集 问题:给40亿个不重复的无符号整数,没排过序…

目录

问题:给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中。

2.简单实现一个位图 

 3.如何利用位图求两个集合的交集、并集


问题:给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中。

  1. 40亿个不重复的无符号整数需要多少空间:大概16G;那么使用哈希或者是红黑树内存不够
  2. 可以直接遍历,时间复杂度O(N);
  3. 排序时间复杂O(logN),二分查找时间复杂度O(longN);

Q:效率都不太好,有没有更好办法呢?

A:让一个比特位来标记一个元素存在或者不存在

40个整形放在位图里面只需要0.5G,而且查找的时间复杂度:O(1),非常棒;

2.简单实现一个位图 

位图的概念:所谓位图,就是用每一位来存放某种状态,适用于海量数据,数据无重复的场景。通常是用来判断某个数据存不存在的。

  1. 初始化+1是为了:除了之后有余数,需要多开一个单位来存放,
  2. 大小端对于位图没有影响

 

template<size_t N>class bitset{public:bitset(){_bits.resize(N / 8 + 1, 0);}void set(size_t x)//把状态改为存在{//看在哪一个字节里面size_t i = x / 8;//第几位size_t j = x % 8;//大小端没有区别,找也是按这种方法找_bits[i] |= (1 << j);}void reset(size_t x)//把状态改为不存在{size_t i = x / 8;size_t j = x % 8;_bits[i] &= (~(1 << j));}bool test(size_t x)//查询是否存在{size_t i = x / 8;size_t j = x % 8;return _bits[i] & (1 << j);}private:std::vector<char> _bits;};

 3.如何利用位图求两个集合的交集、并集

1.并集

  • 把两个集合的元素都插入在一个位图里面,然后遍历一遍判断在不在即可;

 

 2.交集

  • 思路一:把一个集合插入在一个位图里面,遍历另外一个集合的元素是否存在,再把结果去重
  • 思路二:把两个集合分别插入在不同的两个位图,同时遍历两个位图,如果两个都是存在的就在

 

总结一下:位图的可以做些什么?

A:1. 快速查找某个数据是否在一个集合中 2. 排序(全部插入,遍历一遍) 3. 求两个集合的交集、并集等


文章转载自:

http://fQoUzbeP.qnpyz.cn
http://iVrsCsXO.qnpyz.cn
http://sHRU5Ptt.qnpyz.cn
http://FxKY2hAw.qnpyz.cn
http://AuEPZYFS.qnpyz.cn
http://cSBtIW8L.qnpyz.cn
http://PvBeB1lq.qnpyz.cn
http://aRxzWAKn.qnpyz.cn
http://WMx1Tf7l.qnpyz.cn
http://V3EspwNP.qnpyz.cn
http://johjJSN5.qnpyz.cn
http://e8jEgjcj.qnpyz.cn
http://l3r6gzAC.qnpyz.cn
http://UAnuIpl9.qnpyz.cn
http://UJaGNGLo.qnpyz.cn
http://RklwLI15.qnpyz.cn
http://B2JfvJdN.qnpyz.cn
http://DyUbqWUL.qnpyz.cn
http://fBVSzZBH.qnpyz.cn
http://3hfaDjqp.qnpyz.cn
http://jLFP3eXn.qnpyz.cn
http://zvlyI9g6.qnpyz.cn
http://fvmKJZJY.qnpyz.cn
http://HLbkVCDk.qnpyz.cn
http://aKynfp2Z.qnpyz.cn
http://ZTvATLxd.qnpyz.cn
http://alZFim4b.qnpyz.cn
http://c6xbtatO.qnpyz.cn
http://i8zuQlZx.qnpyz.cn
http://xhhiIM6A.qnpyz.cn
http://www.dtcms.com/wzjs/709489.html

相关文章:

  • 那个网站教做馒头中小型企业的数据查询
  • 怎么给网站做搜索功能怎么自己做网址手机版
  • 如何知道网站流量修改wordpress上传文件大小
  • 怎样做企业网站建设代理 指定网站 host
  • 网站设计目的青岛网站建设 大公司
  • 做电脑游戏破解的网站成都到西安火车
  • 罗湖网站建设的公司外包网络推广公司
  • 电子商务网站建设任务分解网站建设滨江
  • 温州网站建设费用建造师二级报名入口
  • 网站建设论文题目网页制作工具有什么
  • wordpress 更换域名建站 seo课程
  • 浏览器如何做购物网站开发商城微信小程序
  • 网站logo怎么做注册商标设计
  • 温州企业建站系统凡客官网首页
  • 网站建设3lue网络品牌营销推广途径
  • wordpress 新浪微博图床广州seo排名优化服务
  • 伊犁网站制作南京外包公司
  • 企业建设网站的方式有哪些企业手机网站 案例
  • 网站备案更换网站建设前景如何
  • 搜狗网站排名软件文登做网站
  • 外发加工网站源码下载360云盘做服务器建设网站
  • 网站项目建设的必要性如何注册自己的工作室
  • 网站模板 协会云建设网站
  • 营销型网站建设合同安徽哪些地方封城了
  • 免费营销软件网站湖南营销型网站建设公司排名
  • 临沂网站制作策划公司网站搭建教程
  • 西安高端网站制作html编辑器汉化版apk
  • 石家庄市住房城乡建设局网站吴川手机网站建设公司
  • 网站建设及模板使用教程凡客诚品官网app
  • 旧网站如何优化杭州网站建设技术支持