原创 斐波那契數列算法分析--遞歸、非遞歸和公式法

類似問題有: 1、排列組合 有一段樓梯有10級臺階,規定每一步只能跨一級或兩級,要登上第10級臺階有幾種不同的走法? 這就是一個斐波那契數列:登上第一級臺階有一種登法;登上兩級臺階,有兩種登法;登上三級臺階,有三種登法;登上四級臺

原创 經典排序算法--快速排序

高快省的排序算法 有沒有既不浪費空間又可以快一點的排序算法呢?那就是“快速排序”啦!光聽這個名字是不是就覺得很高端呢。 假設我們現在對“6  1  2 7  9  3  4  5 10  8”這個10個數進行排序。首先在這個序列中隨

原创 經典排序算法--插入排序

一般來說,插入排序都採用in-place在數組上實現。具體算法描述如下: ⒈ 從第一個元素開始,該元素可以認爲已經被排序 ⒉ 取出下一個元素,在已經排序的元素序列中從後向前掃描 ⒊ 如果該元素(已排序)大於新元素,將該元素移到下一

原创 經典排序算法--冒泡排序

冒泡排序算法的運作如下: 從前往後:比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後一個。持續