天天看點

相對有序排序算法

使用場景:

當需要對一批資料進行逐個篩選,并将篩選後的資料存入一個容器中,當取出來進行第二次操作時,需要取出的資料是按一定的規則排序的時候。

drools加載并執行規則的時候,會去建立執行網絡(Rete算法),用的排序方式就是這個算法。

效率比較:

例如,我們要處理的資料量為10,使用快速排序的方式:

我們發現最壞的這種情況需要循環45次,而是用相對有序排序算法隻要需要29次,而且,相對有序的算法的優勢不僅如此,傳統的排序不管是什麼情況都需要循環那麼多次,而相對有序的算法在是樂觀的,很多時候循環的次數是不需要29次的,例如資料本來就是有序的,那麼隻需要循環12次,而傳統排序還是45次。

繼續閱讀