Sorting 排序算法难题

Sorting 排序算法难题,sorting,Sorting,最近我接触了很多排序算法:从冒泡排序到基数排序和计数排序,但有一个特别的问题,我不知道做什么合法或不合法。(我仍处于伪代码编写阶段,因此我还没有用代码语言编写ALG并运行测试——因此我对什么是“合法”和什么不是的安全性有点不稳定。) 问题在于根据起点对间隔列表进行排序: 例如:排序列表1=[[1,4]、[7,17]、[5,10]] 对于我设计的特定算法,我需要将它们分为以下几类: [1,4]、[5,10]、[7,17]] 我曾想过向后进行基数排序,但我读到基数排序是专门用于数字排序的。看起来我也

最近我接触了很多排序算法:从冒泡排序到基数排序和计数排序,但有一个特别的问题,我不知道做什么合法或不合法。(我仍处于伪代码编写阶段,因此我还没有用代码语言编写ALG并运行测试——因此我对什么是“合法”和什么不是的安全性有点不稳定。)

问题在于根据起点对间隔列表进行排序: 例如:排序列表1=[[1,4]、[7,17]、[5,10]] 对于我设计的特定算法,我需要将它们分为以下几类: [1,4]、[5,10]、[7,17]]

我曾想过向后进行基数排序,但我读到基数排序是专门用于数字排序的。看起来我也可以使用bucket sort,但我们在课堂上没有学习bucket sort


Edit1:我需要担心时间效率,所以这就是为什么我没有做最简单的解决方案,并将所有列表1[i][0]与范围内的i(列表1)进行比较。

我假设区间起点可以是任何实数,在这种情况下,我建议您使用基于比较的排序。(插入、选择、冒泡、合并、堆或快速)而不是分布排序(基数、计数或桶)。虽然基于比较的排序具有O(nlogn)的下限,但与O(n)相比,它们可以在任何一般情况下使用像计数/桶这样的排序要求输入在某个特定范围内。

…为什么不按起点排序,忽略终点?然后按已知的算法对起点集进行排序。好吧,是的,但我必须小心这需要多少时间我希望
“从冒泡排序到基数和计数排序”
包括快速排序和合并排序。你会对数百万个间隔进行排序吗?如果不会,那么你就不必担心太多:任何O(n log n)算法都可以使用伪代码。(实际实现需要使用一个好的算法,如quick、intro、merge或heap sort).不清楚你在问什么-如果你提供比较功能,任何排序算法都可以对元素序列进行排序。如果你需要选择一个,掷骰子。。。