思路 ??1. 思想是所有的合數(shù)都可由若干個素數(shù)因子的積構(gòu)成,如 18 = 2 * 3 * 3 等等。??2. 考慮到 11*11 = 121 ...
算法 ??開門見山,基數(shù)排序是內(nèi)排序中性格比較怪異的一種,它無需比較和交換,而是按位分配和收集。通俗地講就是,對各元素先按個位上的數(shù)值排序,接著...
前言 ??堆排序是一種動態(tài)排序,它基于堆這種數(shù)據(jù)結(jié)構(gòu)。堆的實質(zhì)是一棵二叉樹,只不過使用的是連續(xù)存儲。堆分為小根堆和大根堆。小根堆的特點(diǎn)是根結(jié)點(diǎn)最...
算法 ??歸并排序和快速排序算法一樣都是基于分治算法,都把大規(guī)模問題劃分成更小規(guī)模的子問題。歸并排序的內(nèi)容就是按中點(diǎn)切割表,劃分成左右兩個子表,...
算法 ??選擇排序與冒泡排序一樣都是最樸素簡單而又經(jīng)典的排序算法,效率相對快速排序、堆排序等較低。其思路是,一共進(jìn)行n-1趟排序,每次篩選出最大...
前言 ??前面一篇文章系統(tǒng)介紹了快速排序算法,提到快速排序雖然平均時間復(fù)雜度為o(n*log2(n)),效率相對比較高。但是其在特殊情況下,比如...
算法 ??冒泡排序作為最基礎(chǔ)最簡單的排序算法,實質(zhì)是相鄰兩元素比較,若有序則跳過,若無序則交換。最多需n-1趟排序,第i趟需比較n-i次。所以時...
算法 ??希爾排序是對直接插入排序的改進(jìn),但其本質(zhì)上仍然是插入排序,只不過它設(shè)置了步長,就變成了跨步長的插入排序。當(dāng)步長為1時,它就是直接插入排...
算法 ??折半插入排序是直接插入排序與折半查找二者的結(jié)合,仍然是將待排序元素插入到前面的有序序列,插入方式也是由后往前插,只不過直接插入排序是邊...