100个不同整数从小到大排队,最简单的方法是什么?

如题所述

100个不同整数从小到大排队,最简单的方法是用exel。

按照从小到大排序的技巧:找出原数组中元素值最大的,记为max,最小值记为 min。创建一个新数组count,其长度是max - min + 1,其元素默认值都为0。遍历原数组中的元素,以原数组中的元素作为count数组的索引,以原数组中的元素出现次数作为count数组的元素值。

创建结果数组result,其大小跟原始数组一样。遍历count数组,将其对应的索引作为元素值填充到result数组中去,返回结果数组result即可从小到大排序。

从小到大的归并排序

归并排序是一种高效的排序算法,在任何情况下时间复杂度都为O(nlogn)。但是,它需要用额外的内存空间来暂时储存归并过程中的元素,因此我们可以认为归并排序是以牺牲一部分内存空间为代价来获得时间的高效性。

相反,如果内存空间有限,我们就必须以牺牲时间为代价来保证空间不被过度使用。像上面所说的那样,在设计一个算法的过程中同时考虑时间复杂度和空间复杂度,并且在这两者中找到一个平衡点的过程我们把它称作时空权衡(time and space trade-off)。

温馨提示:答案为网友推荐,仅供参考