這篇我們繼續扯淡一下雞尾酒排序,為了知道為啥取名為雞尾酒,特意看了下百科,見框框的話,也只能勉強這么說了。 要是文藝點的話,可以說是攪拌排序,通俗易懂點的話,就叫“雙向冒泡排序”,我想作為碼農的話,不可能不知道冒泡排序, 冒泡是一個單向的從小到大或者從大到小的交換排序 ...
這個專題因為各種原因好久沒有繼續下去了,MM吧。。。你懂的,嘿嘿,不過還得繼續寫下去,好長時間不寫,有些東西有點生疏了, 這篇就從簡單一點的一個 奇偶排序 說起吧,不過這個排序還是蠻有意思的,嚴格來說復雜度是O N ,不過在多核的情況下,可以做到 N m 的效率,這里的m就是待排序的個數,當m ,復雜度為N ,還行把,比冒泡要好點,因為重點是解決問題的奇思妙想。 下面我們看看這個算法是怎么描述的 ...
2014-02-27 01:25 18 5474 推薦指數:
這篇我們繼續扯淡一下雞尾酒排序,為了知道為啥取名為雞尾酒,特意看了下百科,見框框的話,也只能勉強這么說了。 要是文藝點的話,可以說是攪拌排序,通俗易懂點的話,就叫“雙向冒泡排序”,我想作為碼農的話,不可能不知道冒泡排序, 冒泡是一個單向的從小到大或者從大到小的交換排序 ...
這篇再看看一個經典的排序,梳排序,為什么取名為梳,可能每個梳都有自己的gap吧,大梳子gap大一點,小梳子gap小一點。 上一篇我們看到雞尾酒排序是在冒泡排序上做了一些優化,將單向的比較變成了雙向,同樣這里的梳排序也是在冒泡排序上做了一些優化。 冒泡排序上我們的選擇是相鄰的兩個 ...
在數據結構的世界里,我們會認識各種各樣的數據結構,每一種數據結構都能解決相應領域的問題,每一種數據結構都像 是降龍十八掌中的某一掌,掌掌斃命。。。 當然每個數據結構,有他的優點,必然就有它的缺點 ...
我們知道矩陣是一個非常強大的數據結構,在動態規划以及各種圖論算法上都有廣泛的應用,當然矩陣有着不足的地方就是空間和時間 復雜度都維持在N2上,比如1w個數字建立一個矩陣,在內存中會占用1w*1w=1億的類型空間,這時就會遇到outofmemory。。。那么面 臨的一個問題 ...
上一篇我們看了矩陣的順序存儲,這篇我們再看看一種鏈式存儲方法“十字鏈表”,當然目的都是一樣,壓縮空間。 一:概念 既然要用鏈表節點來模擬矩陣中的非零元素,肯定需要如下5個元 ...
這一篇我們來看樹狀數組的加強版線段樹,樹狀數組能玩的線段樹一樣可以玩,而且能玩的更好,他們在區間求和,最大,平均 等經典的RMQ問題上有着對數時間的優越表現。 一:線段樹 線段樹又稱"區間樹”,在每個節點上保存一個區間,當然區間的划分采用折半的思想,葉子節點只保存一個 ...
古代數學巨著《九章算數》中有這么一道題叫“五家共井,甲二綆(汲水用的井繩)不足,如(接上)乙一綆;乙三綆不足,如丙一綆; 丙四綆不足,如丁一綆;丁五綆不足,如戊一綆;戊六綆不足,如甲一綆,皆及。 意思就是說五家人共用一口井,甲家的繩子用兩條不夠,還要再用乙家的繩子一條 ...
說到排序,大家第一反應基本上是內排序,是的,算法嘛,玩的就是內存,然而內存是有限制的,總有裝不下的那一天,此時就可以來玩玩 外排序,當然在我看來,外排序考驗的是一個程序員的架構能力,而不僅僅局限於排序這個層次。 一:N路歸並排序 1.概序 我們知道算法中有一種 ...