簡單排序方法有哪幾種 什么是快速排序?
什么是快速排序?基本思想是:取n條要排序的記錄中的任意一條(通常是第一條記錄),將記錄放在最后的位置,整個(gè)數(shù)據(jù)間隔被這個(gè)記錄分成兩個(gè)子間隔。所有小于記錄關(guān)鍵字的關(guān)鍵字放在前面的子區(qū)間,所有大于記錄關(guān)鍵
什么是快速排序?
基本思想是:取n條要排序的記錄中的任意一條(通常是第一條記錄),將記錄放在最后的位置,整個(gè)數(shù)據(jù)間隔被這個(gè)記錄分成兩個(gè)子間隔。所有小于記錄關(guān)鍵字的關(guān)鍵字放在前面的子區(qū)間,所有大于記錄關(guān)鍵字的關(guān)鍵字放在后面的子區(qū)間,記錄放在兩個(gè)子區(qū)間的中間。這個(gè)過程稱為快速排序。然后對所有兩個(gè)子間隔重復(fù)上述過程,直到每個(gè)子間隔中只有一個(gè)記錄。簡言之,每次排序都使表的第一個(gè)元素進(jìn)入最終位置,將數(shù)據(jù)間隔一分為二,然后遞歸地繼續(xù)子間隔的劃分,直到子間隔的長度為1。
冒泡排序,插入排序,選擇排序,快速排序的速度大小比較?
我現(xiàn)在明白了。事實(shí)上,這個(gè)比較排名的下界(注意下界是最好的情況)一定是對的。但有一個(gè)條件,即在排序過程中,附加的信息或條件不能用來比較排序的下限。
1. 氣泡排序,它利用了上次掃描中沒有發(fā)生交換的附加條件。
2. 插入排序,它利用了大量有序元素的額外信息。
3. 快速排序,如果采用三向切分法,可以將其分為與pivot相同、大于pivot和小于pivot,然后利用含有大量重復(fù)元素的額外信息來突破nlogn。因此,比較排名或下界的最佳情況是nlogn,它不考慮任何附加條件和附加信息。如果你對數(shù)據(jù)做額外的假設(shè),你就可以突破這個(gè)下限。