早教吧作业答案频道 -->其他-->
排序算法高手帮忙选一种最快的排序方法情况是这样的:开始只有一个数字,程序运行一段时间产生新的数字,再运行一段时间产生新数字.要求新数字产生之前的数字按顺序排列存储在一个数
题目详情
排序算法高手帮忙选一种最快的排序方法
情况是这样的:
开始只有一个数字,程序运行一段时间产生新的数字,再运行一段时间产生新数字.
要求新数字产生之前的数字按顺序排列存储在一个数据结构内,新产生的数字放入到排好序的排列中.
新产生数字的特点是与上次插入的数字大小接近的概率是一半,和上次插入数字无关的概率是一半.并且经常有插入的几个数字的大小差不太多.
求最快的算法.不用考虑空间.
还有一个特点就是数据量不大,顶多100个,要求即时性很高的程序
情况是这样的:
开始只有一个数字,程序运行一段时间产生新的数字,再运行一段时间产生新数字.
要求新数字产生之前的数字按顺序排列存储在一个数据结构内,新产生的数字放入到排好序的排列中.
新产生数字的特点是与上次插入的数字大小接近的概率是一半,和上次插入数字无关的概率是一半.并且经常有插入的几个数字的大小差不太多.
求最快的算法.不用考虑空间.
还有一个特点就是数据量不大,顶多100个,要求即时性很高的程序
▼优质解答
答案和解析
内存排序算法中最常用的算法是快速排序算法,时间复杂度是Onlogn,其它的几个算法,如插入排序、堆排序的时间复杂性都是这个值.
正常排序问题可以用堆排序,或者快排序,但这些算法实际上都是在数据队列已知的情况下的算法,你实际需要的是一个记录插入效率较高的算法,插入排序应该也不错的.
当然也可以进行一定优化,就是在产生数值有一定范围的情况下对数值区间进行分桶,产生数值后直接在指定的桶中应用以上排序算法.
另外,用数组的效率要比链表高
正常排序问题可以用堆排序,或者快排序,但这些算法实际上都是在数据队列已知的情况下的算法,你实际需要的是一个记录插入效率较高的算法,插入排序应该也不错的.
当然也可以进行一定优化,就是在产生数值有一定范围的情况下对数值区间进行分桶,产生数值后直接在指定的桶中应用以上排序算法.
另外,用数组的效率要比链表高
看了 排序算法高手帮忙选一种最快的...的网友还看了以下:
9÷3/4x=1/3如何解不要说什么移项、系数等初中名词,到底先算除法,还是把3/4x看成一个数, 2020-04-09 …
分数加法的意义与()加法的意义相同,是把两个是把两个数的()成一个数运算 2020-05-21 …
高一对数运算一道lg5²+2/3lg8+lg5*lg20+lg²2= 2020-06-04 …
一道高一对数运算.已知M=1/[log1/2(1/3)]+1/[log1/5(1/3)],则M的值 2020-06-04 …
高一对数运算,1、(lg根27+lg8-lg根1000)/(lg1.2)2、(1/2)lg(32/ 2020-07-19 …
高一对数运算log(根号下x+1-根号下x)(根号下x+1+根号下x)=? 2020-07-30 …
高一数学必修一对数运算习题及答案越多越好最好多几个换底公式的这块不太好想练练. 2020-08-01 …
符号“f”表示一种运算,它对一些数运算结果如下:(1)f(1)=0,f(2)=1,f(3)=2,f( 2020-11-20 …
请按“24点”的游戏规则(每个数只字能用依次进行加、减、乘、除或乘方运算),请在下列两组数中选择一组 2021-01-05 …
请按“24点”的游戏规则(每个数只字能用依次进行加、减、乘、除或乘方运算),请在下列两组数中选择一组 2021-01-05 …