`
xly_971223
  • 浏览: 1277395 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

编程珠玑 40亿个随机排列的32位整数,找出X是否存在于40亿个数中

 
阅读更多
编程珠玑
问题描述:40亿个随机排列的32位整数,找出X是否存在于40亿个数中?
在内存足够情况下如何解决?
在仅有几百字节内存下如何解决?

问题解决思路
先说在内存足够情况下的解决思路
1.首先分配整形数组 int[size],size位40亿,初始化所有数组元素值为0
2.然后读入40亿个数,数字的值作为数组下标,并设置数组元素值为1
3. Int[X] 如果是0 就不存在 反之存在
如果想节省点内存可以用位图数据结构

还有一种极省内存的方法是这样的:
假设40亿数组存在文件source.txt中,要查找的数字是X
X是4字节的整数,共32个bit
我们先判断X的最高bit为是0还是1,如果是0,那么source.txt中最高位是0的数字都留下,不是0的都删除。
然后在判断X的次高位,依次循环到最低位
如果最后source.txt文件中还有数字 ,那么就是我们要找的数
分享到:
评论

相关推荐

    编程珠玑 编程珠玑 编程珠玑 编程

    《编程珠玑》是一本经典的计算机科学与编程书籍,作者是Jon Bentley。这本书以其独特的视角深入探讨了程序设计的...阅读并实践《编程珠玑》中的知识,能够让你在编程的世界里更加游刃有余,创作出更优雅、高效的代码。

    编程珠玑源码下载编程珠玑书后源代码

    《编程珠玑》是计算机科学领域的一本经典之作,由Jon Bentley 编著,它以其深入浅出的方式探讨了程序设计的问题和解决方案,尤其在数据结构、算法优化以及问题解决策略方面有着独到的见解。这本书的源代码是作者为了...

    编程珠玑总结笔记

    本资源笔记总结了编程珠玑中的一些重要知识点,包括优化程序、埃氏筛法和位图法等。 1. 打印出小于 10000 的素数 优化程序是编程珠玑中的一大主题,如何优化程序来提高效率是一个非常重要的问题。在这篇笔记中,...

    编程珠玑习题集锦

    - **方法1:位图法** 当内存充足时,可以使用位图来表示40亿个整数,每个整数对应位图中的一个位,如果整数存在,则对应的位为1,反之为0。通过遍历位图找到未设置的位,即为缺失的整数。 - **方法2:二分法** 当...

    编程珠玑 编程珠玑续

    《编程珠玑》和其续篇是两部深受程序员喜爱的经典著作,主要涵盖了程序设计、算法分析和数据结构等核心编程领域。这两本书以其深入浅出的讲解方式和丰富的实例,帮助读者提升编程技巧和解决问题的能力。 在《编程...

    编程珠玑 第2版(修订版)_编程珠玑修订_资料_

    《编程珠玑 第2版(修订版)》是一本深受程序员喜爱的经典著作,它不仅提供了丰富的编程实践经验,还深入探讨了程序设计的艺术与智慧。这本书的修订版更是在原版基础上进行了更新和完善,旨在帮助程序员提升编程技能,...

    编程珠玑(续)

    《编程珠玑(续)》是计算机...书中涵盖了程序员操纵程序的技术、程序员取舍的技巧、输入和输出设计以及算法示例,这些内容组成一个有机的整体,如一串串珠玑展示给程序员。  《编程珠玑(续)》适合各级程序员阅读参考。

    编程珠玑2(中文)

    编程珠玑2(中文)

    编程珠玑续本

    编程珠玑续、编程珠玑续本、编程珠玑续本、编程珠玑续本

    编程珠玑源代码

    《编程珠玑》是计算机科学领域的一本经典著作,作者是Jon Bentley,它以其深入浅出的讲解方式,探讨了程序设计中的一些核心问题。这本书不仅涵盖了算法和数据结构,还涉及了问题解决、程序效率优化以及软件工程的...

    编程珠玑.pdf

    13.3 随机排列 125 13.4 原理 127 13.5 习题 127 13.6 深入阅读 128 第14章 编写数值计算程序 129 14.1 问题 129 14.2 牛顿迭代 130 14.3 良好的起点 132 14.4 代码 133 14.5 原理 135 14.6 习题 135 14.7 深入阅读 ...

    编程珠玑(第二版)答案

    根据提供的标题“编程珠玑(第二版)答案”和描述“编程珠玑(第二版)答案”,我们可以推测出这是关于《编程珠玑》这本书的相关解答资料。《编程珠玑》是一本经典的计算机科学书籍,作者为Jon Bentley。本书旨在...

    编程珠玑及其源码

    编程珠玑,编程珠玑续以及源码,本书针对程序设计人员探讨了一系列的实际问题,这些问题是对现实中常见问题的归纳总结。作者虽然没有给出解决这些问题的具体代码,但始终非常富有洞察力和创造力地围绕着这些折磨...

    编程珠玑中文 第二版 非扫描版

    在压缩包中,"编程珠玑(第二版修订版)超清带书签.pdf"很可能是这本书的PDF版本,带有书签功能,便于读者快速导航。而"bianchengzhuji3_downcc.zip"可能是一个额外的资源文件,可能包含了书中提到的一些代码示例或者...

    编程珠玑(PDF带目录)

    《编程珠玑》是一本享有盛誉的计算机科学与编程领域的经典著作,它以其深入浅出的讲解方式和丰富的实例,深受程序员和计算机科学爱好者的喜爱。这本书的主要内容围绕算法展开,旨在帮助读者掌握如何有效地解决编程...

    《编程珠玑》源代码

    《编程珠玑》第一版是我早期职业生涯中阅读过的对我影响较大的书籍之一,在书中首次接触到的很多观点都让我长期受益。作者在这一版本中做了重要更新。新增加的很多例子让我耳目一新。 ——Steve McConnell,《代码...

    编程珠玑 Programming Pearls 第二版(中文版+源代码)

    《编程珠玑》是计算机科学领域的一本经典之作,作者是Jon Bentley,它以其独特的视角和深入浅出的讲解方式,向读者展示了编程艺术的精髓。这本书的第二版更是深受程序员和计算机科学家们的喜爱,因为它不仅涵盖了...

Global site tag (gtag.js) - Google Analytics