字母数字排序
时间:2020-03-05 18:57:26 来源:igfitidea点击:
排序字母数字字段的最佳/最快方法是什么?
解决方案
回答
我们会发现大多数开发库都附带了快速排序算法的实现,该算法通常是最快的排序算法。在此处查看Wikipedia链接。
回答
我们无需指定目标语言,但是无论它是什么,它都应该具有可靠的内置排序方法,因此请使用其中一种!对于PHP ...
装入数组并排序($ array);
PHP的排序...
$fruits = array("lemon", "orange", "banana", "apple"); sort($fruits); foreach ($fruits as $key => $val) { echo "fruits[" . $key . "] = " . $val . "\n"; }
输出:
fruits[0] = apple fruits[1] = banana fruits[2] = lemon fruits[3] = orange
回答
泡泡排序!只是在开玩笑 :)
最好的选择可能是快速排序或者合并排序。
两者都是O(nlogn),而不是冒泡排序的O(n ^ 2)
回答
在C#中,List具有.Sort()。
通常,QuickSort在许多情况下都非常快,但是它始终取决于数组的大小,
链接在这里
回答
我们问题的答案与我们未提供的一些详细信息密切相关。 "最佳/最快"方式取决于字段的长度,必须排序的数量,可用的内存量,磁盘和内存的相对速度,字符串中...的详细信息,...,广告恶心。
Knuth第3卷详细介绍了各种方法。我不记得他是否讨论过"基数排序",但是他可能会。如果他不这样做,则应该在"基数排序"上查找一些参考。它仅在少数情况下有用,但肯定会飞到那里。如果我们有一小部分短字符串,那么由于开销较低,Bubble Sort在某些体系结构上的性能将比复杂排序好。 C运行时库包含快速排序的版本,因为在某些情况下,它对于较大的数据集而言可能是非常有效的算法。
网络,答案是"取决于"。
回答
"最佳"方式取决于许多因素:
- 我们需要支持的不仅仅是语言吗?
- 我们需要同时支持多种语言吗?
- 我们是否需要支持当前操作系统或者用户语言以外的其他语言? (例如,Web应用程序)
- 我们需要支持多种编码吗? (unicode,utf-16le / utf-8,ansi代码页等)
- 我们需要支持长输入还是高度冗余输入? (预计算或者压缩可以加快分类操作的速度)
- 我们是否需要支持大量输入,例如:百万或者十亿输入?