早教吧作业答案频道 -->其他-->
排序算法高手帮忙选一种最快的排序方法情况是这样的:开始只有一个数字,程序运行一段时间产生新的数字,再运行一段时间产生新数字.要求新数字产生之前的数字按顺序排列存储在一个数
题目详情
排序算法高手帮忙选一种最快的排序方法
情况是这样的:
开始只有一个数字,程序运行一段时间产生新的数字,再运行一段时间产生新数字.
要求新数字产生之前的数字按顺序排列存储在一个数据结构内,新产生的数字放入到排好序的排列中.
新产生数字的特点是与上次插入的数字大小接近的概率是一半,和上次插入数字无关的概率是一半.并且经常有插入的几个数字的大小差不太多.
求最快的算法.不用考虑空间.
还有一个特点就是数据量不大,顶多100个,要求即时性很高的程序
情况是这样的:
开始只有一个数字,程序运行一段时间产生新的数字,再运行一段时间产生新数字.
要求新数字产生之前的数字按顺序排列存储在一个数据结构内,新产生的数字放入到排好序的排列中.
新产生数字的特点是与上次插入的数字大小接近的概率是一半,和上次插入数字无关的概率是一半.并且经常有插入的几个数字的大小差不太多.
求最快的算法.不用考虑空间.
还有一个特点就是数据量不大,顶多100个,要求即时性很高的程序
▼优质解答
答案和解析
内存排序算法中最常用的算法是快速排序算法,时间复杂度是Onlogn,其它的几个算法,如插入排序、堆排序的时间复杂性都是这个值.
正常排序问题可以用堆排序,或者快排序,但这些算法实际上都是在数据队列已知的情况下的算法,你实际需要的是一个记录插入效率较高的算法,插入排序应该也不错的.
当然也可以进行一定优化,就是在产生数值有一定范围的情况下对数值区间进行分桶,产生数值后直接在指定的桶中应用以上排序算法.
另外,用数组的效率要比链表高
正常排序问题可以用堆排序,或者快排序,但这些算法实际上都是在数据队列已知的情况下的算法,你实际需要的是一个记录插入效率较高的算法,插入排序应该也不错的.
当然也可以进行一定优化,就是在产生数值有一定范围的情况下对数值区间进行分桶,产生数值后直接在指定的桶中应用以上排序算法.
另外,用数组的效率要比链表高
看了 排序算法高手帮忙选一种最快的...的网友还看了以下:
高手帮忙翻译几句话成英文Jobmaintenanceis…OIB中所谓的Job是指包含公司内外部的 2020-05-14 …
请高手帮忙,英语翻译,分用光了.从2011/6/1开始到2011/12/21止,根据上级要求总共完 2020-05-14 …
求高手什么是正偏分布和负偏分布?我在自学数量方法中遇到这样一题:在一个正偏的分布中,将有一半的数据 2020-06-20 …
求matlab高手帮忙编写一个函数拟合程序.估计可以得到一个幂函数或者指数函数.求matlab高手 2020-06-27 …
数学高手,你在哪里某种产品中有90%是合格品,用某种方法检查时,合格品被认为是合格品的概率为98% 2020-06-27 …
两人握手次数为1次,三人两两相握握手的次数为3次,现在有几位同学在一起聚会,有两个人握一次手,一共 2020-07-16 …
python新手求助最大值问题定义一个求两个数中最大值的函数,利用这个函数:两个数求大,三个数求大 2020-07-17 …
某校派出610名选手参加市少年田径邀请赛,其中女选手占1/4.正式比赛时,有几名女选手因故缺席,这样 2020-12-23 …
某校派出610名选手参加市少年田径邀请赛,其中女选手占1/4.正式比赛时,有几名女选手因故缺席,这样 2020-12-23 …
若象棋比赛有奇数个选手参加,每一个选手都与其他选手比赛一局,计分办法:胜者记1分,和局各记0.输者记 2020-12-26 …