原文:經典算法題每日演練——第十一題 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