Gates,W. and Papadimitriou,C. "Bounds for Sorting by Prefix Reversal." Discrete Mathematics.27,47-57,1979.
据说这是Bill Gates发表的唯一学术论文。
这个排序问题非常有意思,不同于Hanoi塔问题。首先我们要弄清楚骚操作在于:单手每次抓n块饼,全部颠倒。
例如
-----------1------------
------2------
----3----
翻转后:
----3----
------2------
-----------1------------
基本的排序方法都不太好用。先说一个最简单的解法,如果最底层的饼已经排序,那我们只需要处理n-1个烙饼。这样,我们再简化为n-2,n-3,递归直到最上面的两个饼排好序。这种排序的算法思路大概是这样:
首先,对于每一堆饼,我们找到它里面最大的一张饼,把这张最大的饼与上面的n个饼全部翻转,这样最大的饼就在最上面了,之后我们把整堆再做一次翻转,这样最大的饼也就到了最底部。如图所示(笔者字不好,多多包涵哈哈)
之后,我们就可以轻松的通过递归将整堆饼排序。
这么简单就可以把问题解决吗?用脚丫子想都不可能。
我们注意到一个问题ÿ