`
dingjun1
  • 浏览: 213312 次
  • 性别: 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:待完成任务的个人列表,这些任务列表被一个一个地打勾。 加上管理员的用户管理

    标题中的“todoliste”显然指的是一个用于管理个人任务的系统,它允许用户创建和跟踪他们的待办事项。这样的系统通常包含一系列功能,比如添加、删除、编辑任务,以及标记任务为已完成。描述中提到的任务被打勾,这...

    scrumboardJavaScriptScrumApp来轻松管理任务

    1. **产品积压工作列表(Product Backlog)**:这是所有待完成任务的集合,通常按优先级排序。团队成员可以在JavaScript App中添加、修改和删除任务,保持积压工作的清晰和更新。 2. **冲刺积压工作列表(Sprint ...

    基于ASP.NET+MySQL实现待办任务清单系统【100010180】

    在本项目中,MySQL被用于存储待办事项的相关信息,如任务标题、描述、创建时间、完成状态等。开发者需要创建相应的数据表结构,编写SQL语句来操作数据,同时使用ADO.NET或者Entity Framework等库进行数据库连接和...

    办公自动化OA系统源码

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

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

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

    COffice通用OA系统源代码

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

    Office 通用OA系统源代码

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

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

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

    cOffice通用OA系统源代码

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

    流程引擎文档

    用户任务是需要人工参与的节点,流程到达用户任务时会暂停,待完成任务后再继续执行。用户任务可通过设置执行人或候选执行人。 1.2.4 多实例 多实例允许流程重复执行特定步骤,类似于编程中的循环。通过添加`...

    简约商务风2024新年工作计划PPT模板 (2)

    - **待完成任务**: - 开发团队正在加快产品研发进度,预计三个月内完成初步原型。 - 市场部门正在制定详细的推广计划。 - **问题分析**: - **遇到的问题**: - 资金不足导致某些关键环节进展缓慢。 - 由于市场...

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

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

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

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

    jbpm完整示例 任务列表 权限管理

    每个任务都是流程中的一环,待办任务列表显示了当前用户需要处理的所有未完成的工作。这些任务可能是由其他用户分配过来的,或者是流程自动分配的。通过查看待办任务,用户可以清晰地了解自己的工作职责,按照优先级...

    scrum培训教程--PPT

    产品Backlog是项目中所有待完成任务的列表,包括功能性需求和非功能性需求。Sprint是一次迭代开发的时间周期,通常设定为30天。Sprint Backlog是在一个Sprint内要完成的任务列表。Burndown Chart用来可视化团队的...

    Activiti待办事项查询VIEW

    2. **待办任务模型**:理解Activiti中的任务概念,包括任务的创建、分配、委托、完成以及相关的任务查询API。例如,`TaskService`接口中的`createTaskQuery()`和`list()`方法用于构建和执行查询。 3. **用户查询...

    待办任务事项应用程序

    【待办任务事项应用程序】是一种常见的软件应用,用于帮助用户管理他们的日常任务和工作流程。这类应用程序的核心功能是提供一个用户友好的界面,使用户能够创建、编辑、追踪和完成一系列待办事项。通过这样的系统,...

    JavaScript 实现自动完成禅道任务

    这个函数会向禅道服务器发送请求,获取今天及之前的所有未完成任务。需要注意的是,为了安全和防止过度请求,通常需要在请求头中包含认证信息,如API密钥。 获取到任务列表后,我们需要对每个任务进行检查,判断...

Global site tag (gtag.js) - Google Analytics