排序算法——鸽巢排序 Pigeonhole sort
鸽巢排序(Pigeonhole sort),也被称作基数分类,其时间复杂度为O(n),它是在不可避免遍历每一个元素并且排序的情况下效率最好的一种排序算法。但它只有在差值(或者可被映射在差值)很小的范围内的数值排序的情况下实用,如果元素值的范围远远大于元素个数,那么其性能会比桶排序差很多。当涉及到多个不相等的元素,且将这些元素放在同一个"鸽巢"的时候,算法的效率会有所降低。一般很少使用鸽巢排序,因为它在灵活性、简便性、尤是速度上都比不过其它排序算法。而且在大多数情况下,待排序序列的数据范围会比数据个数大得
复制链接