早教吧作业答案频道 -->其他-->
排序算法高手帮忙选一种最快的排序方法情况是这样的:开始只有一个数字,程序运行一段时间产生新的数字,再运行一段时间产生新数字.要求新数字产生之前的数字按顺序排列存储在一个数
题目详情
排序算法高手帮忙选一种最快的排序方法
情况是这样的:
开始只有一个数字,程序运行一段时间产生新的数字,再运行一段时间产生新数字.
要求新数字产生之前的数字按顺序排列存储在一个数据结构内,新产生的数字放入到排好序的排列中.
新产生数字的特点是与上次插入的数字大小接近的概率是一半,和上次插入数字无关的概率是一半.并且经常有插入的几个数字的大小差不太多.
求最快的算法.不用考虑空间.
还有一个特点就是数据量不大,顶多100个,要求即时性很高的程序
情况是这样的:
开始只有一个数字,程序运行一段时间产生新的数字,再运行一段时间产生新数字.
要求新数字产生之前的数字按顺序排列存储在一个数据结构内,新产生的数字放入到排好序的排列中.
新产生数字的特点是与上次插入的数字大小接近的概率是一半,和上次插入数字无关的概率是一半.并且经常有插入的几个数字的大小差不太多.
求最快的算法.不用考虑空间.
还有一个特点就是数据量不大,顶多100个,要求即时性很高的程序
▼优质解答
答案和解析
内存排序算法中最常用的算法是快速排序算法,时间复杂度是Onlogn,其它的几个算法,如插入排序、堆排序的时间复杂性都是这个值.
正常排序问题可以用堆排序,或者快排序,但这些算法实际上都是在数据队列已知的情况下的算法,你实际需要的是一个记录插入效率较高的算法,插入排序应该也不错的.
当然也可以进行一定优化,就是在产生数值有一定范围的情况下对数值区间进行分桶,产生数值后直接在指定的桶中应用以上排序算法.
另外,用数组的效率要比链表高
正常排序问题可以用堆排序,或者快排序,但这些算法实际上都是在数据队列已知的情况下的算法,你实际需要的是一个记录插入效率较高的算法,插入排序应该也不错的.
当然也可以进行一定优化,就是在产生数值有一定范围的情况下对数值区间进行分桶,产生数值后直接在指定的桶中应用以上排序算法.
另外,用数组的效率要比链表高
看了 排序算法高手帮忙选一种最快的...的网友还看了以下:
一个数字,小数点之后从1开始排列到1001,0.1234567891011121314151617 2020-04-07 …
在一列数2、2、4、8、2、…中,从第3个数开始,每个数都是它前面两个数的乘积的个位数字.按这个规 2020-06-14 …
开始→选一个四位数(四个数字必须不同)→将数字从大到小排列→再从小到大排列→相减→猜想规律 2020-07-08 …
有关于文言文练习09120901下列各句中的“始”字,与“值积雪始晴”的“始”字意义不相同的一项是 2020-07-10 …
有一列数:1、3、3、9、7、3从第三个数开始,每个数都是它前面两个数的乘积的335个位数字.在这 2020-07-19 …
玲玲开始练习打字时,每分钟只能打12个字,现在每分钟打字的个数是开始时的8倍,现在玲玲每分钟比刚开始 2020-11-07 …
高一开学感言800字列个提纲就OK了大概说说怎么写就OK我自己写 2020-11-23 …
在序列20170…中,从第5个数字开始,每个数字都是前面4个数字和的个位数,这样的序列可以一直写下去 2020-12-05 …
“斐波那契”数列由十三世纪意大利数学家斐波那契发现.数列中的一系列数字常被人们称之为神奇数.具体数列 2020-12-24 …
求一种数字筛选工具可以从连续多个数字中排除某一个数字的工具举例说明号码从1020开始排列连续一千个数 2020-12-24 …