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

做食品网站用什么颜色官方网站模板

做食品网站用什么颜色,官方网站模板,如何注册百度账号,高校学校网站建设1.从40个亿中产生一个不存在的整数 题目要求#xff1a;给定一个输入文件#xff0c;包含40亿个非负整数#xff0c;请设计一个算法#xff0c;产生一个不存在该文件中的整数#xff0c;假设你有1GB的内存来完成这项任务。**** 解题中心思想#xff1a;存储的不是这40亿…1.从40个亿中产生一个不存在的整数 题目要求给定一个输入文件包含40亿个非负整数请设计一个算法产生一个不存在该文件中的整数假设你有1GB的内存来完成这项任务。**** 解题中心思想存储的不是这40亿个数据本身而是其对应的位置。 本题不用写代码能把方法过程说清楚就可以。 1.1 位图存储大数据的原理 方法8 bit 为 1B一个32位整数需要4B的存储空间40亿个数就是 40亿 * 4B约为16GB用位图来做的话会更节省空间因为位图的每个位置只能用0或1进行状态表示这样就只需要40亿 / 8 5亿字节也就是大约500M的存储空间。 过程具体来做就是先遍历这40亿个数并把遍历的每个数在位图上的相对位置设置为1。这40亿个数遍历结束后开始遍历位图看看哪个位置上的状态为0就说明这个位置对应的数没有在40亿个数中出现位图遍历结束后就能得到所有未在40亿个数中出现过的数。 1.2 使用10MB来存储呢 如果使用10MB来存储位图也搞不定了这个时候就得使用分块思想用时间换空间通过两次遍历来处理。 40亿个数需要约500MB的空间如果只有10MB的空间至少需要50个块才可以。一般划分块都使用2的幂次方的整数倍此处划分为64个块是合理的。 首先将 0 − 2 32 0-2^{32} 0−232 这个范围的数平均分成64个区间每个区间是67 108 864个数因为一共只有40亿个数所以在统计每一个区间上的数有多少时肯定会有至少一个区间上的计数小于67 108 864。利用这一点可以找出其中一个没出现过的数。具体过程如下 第一次遍历先申请长度位64的整型数组countArr[0, ..., 63]countArr[i]用来统计区间i上的数有多少。遍历40亿个数跟去当前数是多少来决定哪一个区间上的计数增加。比如如果当前数为2 567 278 1892 567 278 189 / 67 108 864 38 所以第38个区间上计数增加countArr[51]。遍历完40亿个数之后遍历countArr必然会有某一个位置上的值countArr[i]小于67 108 864表示第i区间上至少有一个数没出现过。 此时使用的内存是非常小的是countArr的大小64 * 4B 假设找到第37区间上的计数小于67 108 864那么对这40亿个数据进行第二次遍历 申请长度为67 108 864的位图bit map占用大约8MB的空间记为bitArr[0, ... , 67108863]。遍历这40亿个数此时的遍历只关注落在第37区间上的数记为num(num满足 num / 67108864 37)其他区间的数全部忽略。如果步骤2的num在第37区间上将bitArr[num - 67108864 * 37]的值设置为1也就是只做第37区间上的数的bitArr映射。遍历完40亿个数之后在bitArr上必然存在没被设置成1的位置假设第i个位置上的值没被设置成1那么67108864 * 37 i这个数就是一个没出现过的数 步骤小结 根据 10MB 的内存限制确定统计区间的大小就是第二次遍历时的 bitArr 大小。利用区间计数的方式找到那个计数不足的区间这个区间上肯定有没出现的数。对这个区间上的数做 bit map 映射再遍历bit map找到一个没出现的数即可。 1.3 如何确定分块的区间 上面的例子中采用两次遍历第一次将数据分成64块刚好解决问题为什么不是128块32块16块或者其他块数呢 这是主要为了保障第二次遍历时每个块都能放进这10MB的空间中。 2 23 10 M B 2 24 2^{23} 10MB 2^{24} 22310MB224而 2 23 8388608 2^{23} 8388608 2238388608 大约是8MB也就是说我们一次的分块大小只能为8MB左右。我们在第二次遍历时分成64块刚好满足要求这是最少得分成64块当然如果分成128块、256块也是可以的。
http://www.hkea.cn/news/14464262/

相关文章:

  • 陈村建网站网站建设工作 方案
  • 网博士自助建站系统下载wordpress自定义搜索框
  • 苗木网站模版网页制作公司介绍图片
  • 如何查找织梦网站后台判断管理员wordpress
  • 虚拟机做局域网网站服务器配置自媒体做什么领域比较好
  • 交流网站建设项目背景图片在线制作编辑
  • 自己电脑做网站 带宽博客园网站开发
  • 菠菜网站怎么做推广官方建网站有哪些步骤
  • 长春个人网站制作公司重庆必去的十大景点
  • 网站建设的标语做设计需要素材的常用网站
  • c 2015 做网站app定制公司哪家好
  • 大兴网站建设优化seo怎么制作免费的企业网站
  • 广州花都区网站建设建设金融网站哪家好
  • 百度怎么注册自己的网站游戏优化大师下载安装
  • 哈尔滨网站制作建设多少钱怎么优化网站源码关键词
  • 包装设计征集网站千图网素材图
  • 医药行业网站建设铁路建设单位网站
  • 织梦php网站wordpress手机版app导航
  • 用kid做教育网站域名百度账号注册
  • 广州商城建站苏州大学网站建设
  • 网站仿做利用云服务器做网站
  • 简述网站的建设流程图做电商网站就业岗位晋升
  • 沧州市网站建设公司亚马逊海外购
  • 如何建立网站做微商低价网站建设多少钱
  • 自己怎么来建设网站seo推广小分享
  • 哈德网站建设建筑工程网格化管理考核管理办法
  • 西昌新站seo写作网站可以签约未成年吗
  • 做影视网站赚钱wordpress页面不能访问
  • 阜阳讯拓网站建设开发一个软件能赚多少钱
  • 目前流行的网站开发设计大型网站建设企业名录模板