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

待完成的任务

阅读更多
了解:
1、Arrays.mergeSort排序算法
2、BigInteger的实现原理
3、红黑树的添加和删除操作实现
4、Collections各方法的相关实现
5、ORACLE怎么查找db_cache pool中的block,比如全表扫描怎么查找到所有的block。
6、学习apache,memcached、webservice、MYSQL


大数据量处理算法:
   1. Bloom Filter
   2. Hash
   3. Bit-Map
   4. 堆
   5. 双层桶划分
   6. 数据库索引
   7. 倒排索引(Inverted Index)
   8. 外排序
   9. Trie树
  10. MapReduce
1、bloom filter
转载:http://www.hellodba.net/2009/04/bloom_filter.html
设想以下的一个问题:有一个keyword的集合,我们需要快速判定某个keyword是否包含在其中。最简单的方法是遍历,但是效率很差。我们马上想到了hash的方法,因为在Oracle内部,hash无处不在。比如在cache buffer中找到某个block,在shared pool中找到某个SQL等等。我们可以把keyword的集合build成一个hash table,然后根据keyword计算hash值,通过是否落在相应的hash bucket中,这样就可以实现快速查找的目的。这个方法不错,但是当keyword过多时,hash table会占用大量内存,效率也会随之下降。

今天公司的架构师介绍了一个新的方法给我:Bloom Filter。它是一种基于随机数(或Hash)的数据结构,它支持对成员使用较少空间来存储,却能得到较高效率的查询。换句话说:在Bloom Filter 可以用于检索一个元素是否在一个集合中。其原理如下:

建立一个容量为500万的Bit Array结构(Bit Array的大小和keyword的数量决定了误判的几率),将集合中的每个keyword通过32个hash函数分别计算出32个数字,然后对这32个数字分别用500万取模,然后将Bit Array中对应的位置为1,我们将其称为特征值。简单的说就是将每个keyword对应到Bit Array中的32个位置上,见下图:



当需要快速查找某个keyword时,只要将其通过同样的32个hash函数运算,然后映射到Bit Array中的对应位,如果Bit Array中的对应位全部是1,那么说明该keyword匹配成功。
Bloom filter 是一个集合的有损编码,所以它不是一种“保险”的方案,存在一定的误判率。

另参考:http://blog.csdn.net/jiaomeng/archive/2007/01/27/1495500.aspx
========================================================================



1、在一条街上,有5座房子,喷了5种颜色。
2、每个房里住着不同国籍的人
3、每个人喝不同的饮料,抽不同品牌的香烟,养不同的宠物


问题是:谁养鱼?


提示:
1、英国人住红色房子
2、瑞典人养狗
3、丹麦人喝茶
4、绿色房子在白色房子左面
5、绿色房子主人喝咖啡
6、抽Pall Mall 香烟的人养鸟
7、黄色房子主人抽Dunhill 香烟
8、住在中间房子的人喝牛奶
9、 挪威人住第一间房
10、抽Blends香烟的人住在养猫的人隔壁
11、养马的人住抽Dunhill 香烟的人隔壁
12、抽Blue Master的人喝啤酒
13、德国人抽Prince香烟
14、挪威人住蓝色房子隔壁
15、抽Blends香烟的人有一个喝水的邻居


以上是爱因斯坦在20世纪初出的这个谜语。他说世界上有98%的人答不出来。
你能做出来吗?
  • 大小: 31.7 KB
分享到:
评论

相关推荐

    todoliste:待完成任务的个人列表,这些任务列表被一个一个地打勾。 加上管理员的用户管理

    待办事项清单 待完成任务的个人列表,这些任务列表被一个一个地打勾。 加上管理员的用户和列表管理。

    待办任务源代码

    本软件具有添加新任务,删除已完成任务,设置提醒功能,并可以自定义任务紧急程度的软件。无任务时,会有提示信息。

    办公自动化OA系统源码

    待完成任务:显示今日往后的未完成任务,并对任务操作,如新建、取消、完成、接受 未完成任务:显示今日以前的未完成任务 已完成任务:显示完成的任务 我的发起任务:显示所有我发起的任务,其中包括我仅发起而...

    通用OA系统源代码(asp.net)包含完整源代码和数据库

    待完成任务:显示今日往后的未完成任务,并对任务操作,如新建、取消、完成、接受 未完成任务:显示今日以前的未完成任务 已完成任务:显示完成的任务 我的发起任务:显示所有我发起的任务,其中包括我仅发起而...

    COffice通用OA系统源代码

    待完成任务:显示今日往后的未完成任务,并对任务操作,如新建、取消、完成、接受 未完成任务:显示今日以前的未完成任务 已完成任务:显示完成的任务 我的发起任务:显示所有我发起的任务,其中包括我仅发起而...

    Office 通用OA系统源代码

    待完成任务:显示今日往后的未完成任务,并对任务操作,如新建、取消、完成、接受 未完成任务:显示今日以前的未完成任务 已完成任务:显示完成的任务 我的发起任务:显示所有我发起的任务,其中包括我仅发起而...

    精品OA- 协同办公管理系统(开源)

    待完成任务:显示今日往后的未完成任务,并对任务操作,如新建、取消、完成、接受 未完成任务:显示今日以前的未完成任务 已完成任务:显示完成的任务 我的发起任务:显示所有我发起的任务,其中包括我仅发起而不...

    cOffice通用OA系统源代码

    待完成任务:显示今日往后的未完成任务,并对任务操作,如新建、取消、完成、接受 未完成任务:显示今日以前的未完成任务 已完成任务:显示完成的任务 我的发起任务:显示所有我发起的任务,其中包括我仅发起而...

    超强的网络办公系统V4.5免费版

    <br>10、修改了我的任务,其功能包括:待完成任务、未完成任务、已完成任务、预警任务、警告任务、我的发起、任务下达、任务统计; <br>11、为邮件发送、公文发送、工作流及审批、通知公告等增加了手机短信...

    待办任务管理软件 MyLifeOrganized To-Do List Pro 3.3.1 中文多语免费版.zip

    •按特定顺序从列表中完成任务 •依赖关系:MLO 可以处理顺序和并行项目,保留在其他任务完成之前无法启动的任务。 •日历视图:分析您的日常工作量 •附近视图:获取当前 GPS 位置的操作列表,并在您到达该位置时...

    TaskManagerMaster:一个Android的任务管理器(Task Manager Master, TMM)。将一项任务分成待完成、已完成、正在做、未完成四个类别,方便日程生活中的管理

    将一项任务分成待完成、已完成、正在做、未完成四个类别,方便日程生活中的管理 截图 你可以在这里下载安装程序 License Copyright 2015 csulennon Licensed under the Apache License, Version 2.0 (the "License")...

    weekly-tasks:一个用于管理我每周必须处理的任务的Web应用程序

    每周任务一个Webapp,用于管理您每周必须处理的任务。 如果清除任务,将在一周后生成任务。 框架,语言等Ruby 2.7.0 Ruby on Rails 5.1.7 Vue.js 威化Axios 规格AWS EC2 2020/07/31 修复了响应式设计错误2020/09/28 ...

    一个强大的待办事项和任务管理应用 for Android.rar

    是一个强大的待办事项和任务管理应用,它可以在您的所有设备上进行无缝云端同步。无论是计划行程、做备忘录、与家庭成员分享购物清单还是与您的同事协作,...共享协作:与家人、好友和同事共享清单,多人协同完成任务。

    Chrome版Todoist(待办事项列表及任务管理器)-11.1.zip

    加入1,000,000+的忠实用户团队,使用Todoist完成更多工作任务----这是领先的待办事项列表和个人任务管理器! 正如TechCrunch、纽约时报、Lifehacker、ReadWriteWeb和其他媒体所描述的经典特色一样,Todois

    周报模板参考

    周报模板,大家可以对自己本周工作进行汇报总结,并且计划下周待完成任务。

    PublicFiles

    公共档案 ...讨论本周待完成任务 分配任务和人员 下周事务安排 确认主持人和秘书 项目总览 甘特及时间线回顾更新 会后事项 主持人更新timeline中该周工作,记录遇到的问题,总结反思 主持人发送该周完成的

    移动开发 微信小程序版-小时钟

    微信小程序版小时钟 设置待完成任务,设定自定义时间,专注工作时间的。 主要组成有: 统计专注时长,选择任务区,设置时间区,倒计时页面 主要技术涉及:微信小程序

    python大作业基于django+APScheduler的定时任务管理系统源码.zip

    如出现报错,可先将admin.py中最后一行的clear_job()注释掉,待数据库构建完成后再解除注释即可。 使用python3 manage.py createsuperuser指令完成后端管理员账号的创建 直接使用python3 manage.py runserver 0.0....

    待办事项:待办事项清单应用程序,用于标记已完成和待处理的任务

    待办事项清单 待办事项列表应用程序,用于标记已完成和待处理的任务

Global site tag (gtag.js) - Google Analytics