看似解决不了的问题,还真不一定就没有办法,也许只是暂时没想到罢了。

    我们都能理解,优秀排序算法的首要条件就是速度。于是人们想了许许多多的办法,目的就是为了提高排序的速度。而在很长的时间里,众人发现尽管各种排序算法花样繁多(比如前面我们提到的三种不同的排序算法),但时间复杂度都是O(n 2 ),似乎没法超越了。此时,计算机学术界充斥着“排序算法不可能突破O(n 2 )”的声音。就像刚才大家做智力题的感觉一样,“不可能”成了主流。

    终于有一天,当一位科学家发布超越了O(n 2 )新排序算法后,紧接着就出现了好几种可以超越O(n 2 )的排序算法,并把内排序算法的时间复杂度提升到了O(nlogn)。“不可能超越O(n 2 )”彻底成为了历史。

    从这里也告诉我们,做任何事,你解决不了时,想一想“Nothing is impossible!”,虽然有点唯心,但这样的思维方式会让你更加深入地思考解决方案,而不是匆忙的放弃。