1. 歸并排序算法的使用情景

歸并排序算法和快速排序算法是java.util.Arrays中使用的排序算。對(duì)于一般的基本數(shù)據(jù)類型,Arrays.sort函數(shù)使用雙軸快速排序算法,而對(duì)于對(duì)象類型使用歸并排序(準(zhǔn)確的說(shuō)使用的是TimSort排序算法,它是歸并排序的優(yōu)化版本)。這樣做的原因有兩點(diǎn),第一個(gè)原因,歸并排序是穩(wěn)定的,而快速排序不是穩(wěn)定的。第二個(gè)原因,對(duì)于基本數(shù)據(jù)類型,排序的穩(wěn)定性意義不大,但對(duì)于復(fù)合數(shù)據(jù)類型(比如對(duì)象)排序的穩(wěn)定性就能幫助我們保持排序結(jié)果的某些性質(zhì)。

2. 自頂向下的歸并排序

自頂向下的排序算法就是把數(shù)組元素不斷的二分,直到子數(shù)組的元素個(gè)數(shù)為一個(gè),因?yàn)檫@個(gè)時(shí)候子數(shù)組必定是已有序的,然后將兩個(gè)有序的序列合并成一個(gè)新的有序的序列,兩個(gè)新的有序序列又可以合并成另一個(gè)新的有序序列,以此類推,直到合并成一個(gè)有序的數(shù)組。

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開(kāi)發(fā),動(dòng)畫(huà)培訓(xùn)

為了體現(xiàn)歸并的排序的穩(wěn)定性,我們的代碼使用java的泛型來(lái)實(shí)現(xiàn)對(duì)任意對(duì)象的排序。

    延伸閱讀

    學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式

    我想了解如何學(xué)習(xí)

    姓名:
    手機(jī):
    留言: