早教吧作业答案频道 -->其他-->
排序算法高手帮忙选一种最快的排序方法情况是这样的:开始只有一个数字,程序运行一段时间产生新的数字,再运行一段时间产生新数字.要求新数字产生之前的数字按顺序排列存储在一个数
题目详情
排序算法高手帮忙选一种最快的排序方法
情况是这样的:
开始只有一个数字,程序运行一段时间产生新的数字,再运行一段时间产生新数字.
要求新数字产生之前的数字按顺序排列存储在一个数据结构内,新产生的数字放入到排好序的排列中.
新产生数字的特点是与上次插入的数字大小接近的概率是一半,和上次插入数字无关的概率是一半.并且经常有插入的几个数字的大小差不太多.
求最快的算法.不用考虑空间.
还有一个特点就是数据量不大,顶多100个,要求即时性很高的程序
情况是这样的:
开始只有一个数字,程序运行一段时间产生新的数字,再运行一段时间产生新数字.
要求新数字产生之前的数字按顺序排列存储在一个数据结构内,新产生的数字放入到排好序的排列中.
新产生数字的特点是与上次插入的数字大小接近的概率是一半,和上次插入数字无关的概率是一半.并且经常有插入的几个数字的大小差不太多.
求最快的算法.不用考虑空间.
还有一个特点就是数据量不大,顶多100个,要求即时性很高的程序
▼优质解答
答案和解析
内存排序算法中最常用的算法是快速排序算法,时间复杂度是Onlogn,其它的几个算法,如插入排序、堆排序的时间复杂性都是这个值.
正常排序问题可以用堆排序,或者快排序,但这些算法实际上都是在数据队列已知的情况下的算法,你实际需要的是一个记录插入效率较高的算法,插入排序应该也不错的.
当然也可以进行一定优化,就是在产生数值有一定范围的情况下对数值区间进行分桶,产生数值后直接在指定的桶中应用以上排序算法.
另外,用数组的效率要比链表高
正常排序问题可以用堆排序,或者快排序,但这些算法实际上都是在数据队列已知的情况下的算法,你实际需要的是一个记录插入效率较高的算法,插入排序应该也不错的.
当然也可以进行一定优化,就是在产生数值有一定范围的情况下对数值区间进行分桶,产生数值后直接在指定的桶中应用以上排序算法.
另外,用数组的效率要比链表高
看了 排序算法高手帮忙选一种最快的...的网友还看了以下:
(1)下列选项中不符合良好程序设计风格的是().A)源程序要文档化B)数据说明的次序要规范化C)避 2020-05-20 …
若一棵二叉树结点的前序遍历序列是A、B、C,后序遍历序列是C、B、A,则该二叉树结点的中序遍历序列( 2020-05-24 …
每趟排序都从序列的未排好序的序列中挑选一个值最小(或最大)的元素,然后将其与未排好序的序列的 2020-05-26 …
写一个算法,判断依次读入的一个以@为结束符的字母序列,是否为形如“序列1&序列2”模式的字符序列. 2020-06-28 …
关于计算机语言的描述,正确的是().A:翻译高级语言源程序时,解释方式和编译方式并无太大差别B:用高 2020-11-23 …
求圆环的面积、统计字符个数实验目的和要求:目的:熟悉使用程序的循环和分支结构编写程序要求:1.从键盘 2020-12-02 …
设一颗二叉树的先序、中序遍历序列分别为:先序遍历序列:ABDFCEGH,中序遍历序列:BFDAGEH 2020-12-05 …
电力系统故障时正序负序零序分量之间的关系1:电力系统故障时,故障点电压电流的正序、负序、零序分量之间 2020-12-05 …
数据结构已知一棵二叉树的先序、中序遍历序列如下,请构造出该二叉树并写出其后序遍历序列.先序序列:AB 2020-12-05 …
我正在编制程序,用两种方法实现二叉树的建立,并用递归算法实现二叉树的先序、中序、后序三种遍历。具体要 2020-12-05 …