title: 除了经典和常用的排序算法外，还有哪些奇葩而有趣的排序算法？
desc: 如题，目前常用和经典的排序算法有：<br>冒泡排序（bubble sort） On^2）<br>鸡尾酒排序Cocktail sort，双向的冒泡排序 On^2）<br>插入排序（insertion sort） On^2<br>桶排序（bucket sort） On 需要 Ok 额外空间<br>计数排序counting sort Onk 需要 Onk 额外空间<br>合并排序（merge sort） Onlog n 需要 On 额外空间<br>原地合并排序 On^2<br>二叉排序树排序 （Binary tree sort） Onlog n期望时间 On^2最坏时间 需要 On 额外空间<br>鸽巢排序Pigeonhole sort Onk 需要 Ok 额外空间<br>基数排序（radix sort） Onk 需要 On 额外空间<br>Gnome 排序 On^2<br>图书馆排序 Onlog n with high probability，需要 （1n额外空间<br>不稳定的<br>选择排序（selection sort） On^2<br>希尔排序（shell sort） Onlog n 如果使用最佳的现在版本<br>组合排序 Onlog n<br>堆排序（heapsort） Onlog n<br>平滑排序 Onlog n<br>快速排序（quicksort） Onlog n 期望时间，On^2 最坏情况 对于大的乱数列表一般相信是最快的已知排序<br>Introsort Onlog n<br>Patience sorting Onlog n k 最坏情况时间，需要 额外的 On k 空间，也需要找到最长的递增子串行（longest increasing subsequence）<br>不实用的<br>Bogo排序 On n 期望时间，无穷的最坏情况。<br>Stupid sort On^3 递归版本需要 On^2 额外存储器<br>珠排序（Bead sort） On or O（n，但需要特别的硬件<br>Pancake sorting On，但需要特别的硬件<br>stooge sortO（n^2.7）很漂亮但是很耗时<br><br>但是除了这些算法，还有哪些奇葩又去有趣的排序算法呢？
topic: 算法
content: 介绍一个比较搞笑的：慢速排序（Slow Sort） （以下内容部分译自 httpc2.comcgiwikiSlowSort ） 慢速排序算法采取了 Multiply and Surrender 的思想：将问题变成若干个子问题，每一个子问题都仅仅稍微比原问题简单一点再递归地把每一个子问题变成若干子子问题，如此尽可能多地增加子问题的数量（此为 Multiply）。直到子问题已经过于简单而无法继续拖延下去时，就只好认输了（此为 Surrender）。将 n 个数由小到大排序可以分为以下
answerer_tags: 另请高明