原文:经典算法题每日演练——第十一题 Bitmap算法

在所有具有性能优化的数据结构中,我想大家使用最多的就是hash表,是的,在具有定位查找上具有O 的常量时间,多么的简洁优美, 但是在特定的场合下: :对 亿个不重复的整数进行排序。 :找出 亿个数字中重复的数字。 当然我只有普通的服务器,就算 G的内存吧,在这种场景下,我们该如何更好的挑选数据结构和算法呢 一:问题分析 这年头,大牛们写的排序算法也就那么几个,首先我们算下放在内存中要多少G: 亿 ...

2012-12-06 12:59 30 17706 推荐指数:

查看详情

经典算法每日演练——第二十一题 十字链表

上一篇我们看了矩阵的顺序存储,这篇我们再看看一种链式存储方法“十字链表”,当然目的都是一样,压缩空间。 一:概念 既然要用链表节点来模拟矩阵中的非零元素,肯定需要如下5个元 ...

Tue Apr 02 21:44:00 CST 2013 2 14021
经典算法每日演练——第一题 百钱买百鸡

百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱, 用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。 分析:估计现在小学生都能手工推算这套 ...

Mon Aug 06 04:22:00 CST 2012 57 63715
经典算法每日演练——第十四 Prim算法

图论在数据结构中是非常有趣而复杂的,作为web码农的我,在实际开发中一直没有找到它的使用场景,不像树那样的频繁使用,不过还是准备 仔细的把图论全部过一遍。 一:最小生成树 ...

Thu Dec 13 03:12:00 CST 2012 6 6731
经典算法每日演练——第三 猴子吃桃

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃了一个。第二天早上又将剩下的桃子吃了一半,还是不过瘾又多 吃了一个。以后每天都吃前一天剩下的一半再加一个。到第10天刚好剩一个。问猴子第一天摘了多少个桃子? 分析: 这是一套非常经典算法,这个题目体现了算法 ...

Wed Aug 08 20:40:00 CST 2012 23 23502
经典算法每日演练——第十 树状数组

有一种数据结构是神奇的,神秘的,它展现了位运算与数组结合的神奇魅力,太牛逼的,它就是树状数组,这种数据结构不是神人是发现不了的。 一:概序 假如我现在有个需求,就是要频繁 ...

Wed Dec 05 20:50:00 CST 2012 22 7102
经典算法每日演练——第十六题 Kruskal算法

这篇我们看看第二种生成树的Kruskal算法,这个算法的魅力在于我们可以打一下算法和数据结构的组合拳,很有意思的。 一:思想 若存在M={0,1,2,3,4,5}这样6个节点,我们知道Prim算法构建生成树是从”顶点”这个角度来思考的,然后采用“贪心思想” 来一步步扩大化 ...

Mon Dec 17 08:28:00 CST 2012 6 5551
经典算法每日演练——第十七题 Dijkstra算法

或许在生活中,经常会碰到针对某一个问题,在众多的限制条件下,如何去寻找一个最优解?可能大家想到了很多诸如“线性规划”,“动态规划” 这些经典策略,当然有的问题我们可以用贪心来寻求整体最优解,在图论中一个典型的贪心法求最优解的例子就莫过于“最短路径”的问题。 一:概序 ...

Tue Dec 18 20:14:00 CST 2012 0 9609
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM