新濠天地赌场官网

算法系列-计数排序 - eaglet - 博客园

点击量:   时间:2018-09-03
计数排序是一种算法复杂度 O(n) 的排序方法,适合于小范围集合的排序。比如100万学生参加高考,我们想对这100万学生的数学成绩(假设分数为0到100)做个排序。我们如何设计一个最高效的排序算法。本文不光给出计数排序算法的传统写法,还将一步步深入讨论算法的优化,直到时间复杂度和空间复杂度最优。这种排序算法,依靠一个辅助数组来实现,不基于比较,算法复杂度为 O(n) ,但由于要一个辅助数组C,所以空间复杂度要大一些,由于计算机的内存有限,这种算法不适合范围很大的数的排序。上面代码是方案1 的解法,也是计数排序算法的经典解法,麻省的教材上也是这样解。不过这个解法并不是最优的,因为空间复杂度还应该可以优化,我们完全可以不要那个输出的数组B,直接对A进行排序。在继续看方案2之前,我建议大家先自己思考一下,看看是否有办法省略掉数组B

新濠天地赌场官网
  • 检察部门应加强刑事和解监督

    检察部门应加强刑事和解监督

  • “告母家书”作者发起众筹治病:“我想

    “告母家书”作者发起众筹治病:“我想

  • 训话术装专家 流水作业骗钱财

    训话术装专家 流水作业骗钱财

  • 广州大巴行驶时自燃现场 无人员伤亡

    广州大巴行驶时自燃现场 无人员伤亡

  • 三星电子副会长李在镕二审获刑2年6个月

    三星电子副会长李在镕二审获刑2年6个月