臭皮匠排序

臭皮匠排序

臭皮匠排序(英語:Stooge Sort)是一種低效的遞歸排序算法,甚至慢於冒泡排序。在《算法導論》第二版第7章(快速排序)的思考題中被提到,是由Howard、Fine等教授提出的所謂“漂亮的”排序算法。

詳解

臭皮匠排序(英語: Stooge Sort)是一種低效的遞歸排序算法,甚至慢於冒泡排序。在《算法導論》第二版第7章(快速排序)的思考題中被提到,是由Howard、Fine等教授提出的所謂“漂亮的”排序算法,代碼很漂亮但是很耗時。

該排序是一種低效的遞歸排序算法,不僅慢於一般的有效排序算法(如:插入排序,合併排序,堆排序和快速排序),甚至慢於冒泡排序。所以相比於經典的排序算法,STOOGE算法具有非常差的性能。

時間複雜度:

最差的時間複雜度為:O(n^log(3/2)3)
最差的空間複雜度為: O(n^2.7)
可見此算法效率相當的低下,比選擇、插入、冒泡排序更差!

實現

如果最後一個值小於第一個值,則交換這兩個數

如果當前集合元素數量大於等於3:

1.使用臭皮匠排序前2/3的元素

2.使用臭皮匠排序後2/3的元素

3.再次使用臭皮匠排序前2/3的元素

相關詞條

熱門詞條

聯絡我們