上一篇我們看了矩陣的順序存儲,這篇我們再看看一種鏈式存儲方法“十字鏈表”,當然目的都是一樣,壓縮空間。 一:概念 既然要用鏈表節點來模擬矩陣中的非零元素,肯定需要如下5個元 ...
在所有具有性能優化的數據結構中,我想大家使用最多的就是hash表,是的,在具有定位查找上具有O 的常量時間,多么的簡潔優美, 但是在特定的場合下: :對 億個不重復的整數進行排序。 :找出 億個數字中重復的數字。 當然我只有普通的服務器,就算 G的內存吧,在這種場景下,我們該如何更好的挑選數據結構和算法呢 一:問題分析 這年頭,大牛們寫的排序算法也就那么幾個,首先我們算下放在內存中要多少G: 億 ...
2012-12-06 12:59 30 17706 推薦指數:
上一篇我們看了矩陣的順序存儲,這篇我們再看看一種鏈式存儲方法“十字鏈表”,當然目的都是一樣,壓縮空間。 一:概念 既然要用鏈表節點來模擬矩陣中的非零元素,肯定需要如下5個元 ...
百錢買百雞的問題算是一套非常經典的不定方程的問題,題目很簡單:公雞5文錢一只,母雞3文錢一只,小雞3只一文錢, 用100文錢買一百只雞,其中公雞,母雞,小雞都必須要有,問公雞,母雞,小雞要買多少只剛好湊足100文錢。 分析:估計現在小學生都能手工推算這套題 ...
圖論在數據結構中是非常有趣而復雜的,作為web碼農的我,在實際開發中一直沒有找到它的使用場景,不像樹那樣的頻繁使用,不過還是准備 仔細的把圖論全部過一遍。 一:最小生成樹 ...
猴子第一天摘下若干個桃子,當即吃了一半,還不過癮就多吃了一個。第二天早上又將剩下的桃子吃了一半,還是不過癮又多 吃了一個。以后每天都吃前一天剩下的一半再加一個。到第10天剛好剩一個。問猴子第一天摘了多少個桃子? 分析: 這是一套非常經典的算法題,這個題目體現了算法 ...
有一種數據結構是神奇的,神秘的,它展現了位運算與數組結合的神奇魅力,太牛逼的,它就是樹狀數組,這種數據結構不是神人是發現不了的。 一:概序 假如我現在有個需求,就是要頻繁 ...
這篇我們看看第二種生成樹的Kruskal算法,這個算法的魅力在於我們可以打一下算法和數據結構的組合拳,很有意思的。 一:思想 若存在M={0,1,2,3,4,5}這樣6個節點,我們知道Prim算法構建生成樹是從”頂點”這個角度來思考的,然后采用“貪心思想” 來一步步擴大化 ...
或許在生活中,經常會碰到針對某一個問題,在眾多的限制條件下,如何去尋找一個最優解?可能大家想到了很多諸如“線性規划”,“動態規划” 這些經典策略,當然有的問題我們可以用貪心來尋求整體最優解,在圖論中一個典型的貪心法求最優解的例子就莫過於“最短路徑”的問題。 一:概序 ...