当前位置: 首页 > 知识库问答 >
问题:

排序已排序数组列表的最佳算法?[副本]

沈凯康
2023-03-14

所以我有5个块(假设大小为2000个项目),每个块都是经过排序的数据。是否有一种算法能够利用此属性优化整个10000个项目的排序?

共有1个答案

聂煜
2023-03-14

不知道任何元素,但您可以为每个块列出最小的元素,即5个元素,记住它们来自哪个块。

Then sort them.
Remove the smallest and add to the result
Take the next smallest from the list that the smallest was from and place it in the correst sorted position.
 类似资料:
  • 我有一个点列表,每个点都是一个大小为2的小列表。我想按x的递增顺序对点列表进行排序,如果x值相等,我就按y的递减顺序排序来打破平局。 我编写了一个自定义比较器来对点进行排序,如下所示: 以下是排序前的输入: 以下是使用上述比较器排序后产生的结果: 观察:- 输入按x的升序排序。 (5,12)被正确地放在(5,10)之前 (9,-15)被正确地放在(9,-1000)之前 然而,(10001,-10)

  • 我一直在阅读就地排序算法来排序链表。根据维基百科 合并排序通常是对链表进行排序的最佳选择:在这种情况下,实现合并排序相对容易,只需要< code >θ(1)额外的空间,并且链表缓慢的随机访问性能使得其他一些算法(如quicksort)表现不佳,而其他一些算法(如heapsort)则完全不可能。 据我所知,合并排序算法不是一个就地排序算法,并且具有辅助的最坏情况空间复杂性。现在,考虑到这一点,我无法

  • 我想用java对数字数组列表进行排序,所以基本上如果我有以下数组列表: 输出应为: arraylist应该根据第一个键然后第二个键进行排序。

  • 我需要估计数组列表是否已排序(不排序)。 对字符串进行排序时,它们是按字母顺序排列的。我尝试使用compareTo()方法来确定哪个字符串先出现 如果数组列表已排序,则返回true,否则返回false。 代码: 简单测试: 这个简单的测试只显示覆盖率。 如何解决这个问题。

  • 问题内容: 我为无法快速找到答案感到困惑。我本质上是在寻找Java中的一种实现接口的数据结构,但该结构按顺序存储其成员。我知道您可以使用法线并在其上使用,但是我遇到的情况是,我偶尔会添加并经常从列表中检索成员,并且我不想每次检索成员时都对其进行排序,以防万一新增加了一个。谁能指出我在JDK甚至第3方库中都存在的这种东西? 编辑 :数据结构将需要保留重复项。 总结 :我发现所有这些都很有趣,并且学到

  • 问题内容: 我有以下课程。在此,虹膜是具有某些属性的另一类。 我想对此数组列表进行排序(即列表 helperList),基于距离参数降序。我已经编写了以下方法,但是它不起作用。 有人可以提出解决方案吗? 问题答案: 为什么不让您的类实现接口,然后使用Collections类提供的内置排序方法。 我认为这可以解决问题。另外,此方法是稳定的。 http://docs.oracle.com/javase