1. 快速排序
1. 是一個(gè)優(yōu)秀的排序算法,O(n²)和Ω(nlgn),期望運(yùn)行時(shí)間:θ(nlgn)且常數(shù)因子較小。
2. 快速排序采用了分治的思想
- 分:將數(shù)組劃分成兩個(gè)部分(核心,partition) - 治:遞歸的對劃分的兩個(gè)子數(shù)組進(jìn)行排序
2. 歸并排序
1. 歸并排序(英語:Merge sort,或mergesort),是創(chuàng)建在歸并操作上的一種有效的排序算法,效率為O(n log n)。1945年由約翰·馮·諾伊曼首次提出。該算法是采用分治法(Divide and Conquer)的一個(gè)非常典型的應(yīng)用,且各層分治遞歸可以同時(shí)進(jìn)行。
2. 讓左右兩部分的元素先有序,然后把兩個(gè)有序的部分合并為一個(gè)有序的過程。那么如何讓左邊的部分和右邊的部分有序呢?
繼續(xù)把左邊的部分分為兩部分,然后排序。
然后再把右邊的部分分為兩部分,再排序。這是一個(gè)遞歸的過程