什么是对字母数字字段进行排序的最佳/最快方式?字母数字排序
Q
字母数字排序
1
A
回答
0
你会发现大多数开发库附带一个快速排序算法的实现,它通常是最快的排序算法。检查出Wikipedia link here。
1
你不指定你的目标语言,但不管它是什么,它应该有可靠的,内置的排序方法,所以使用它们中的一个!对于PHP ...
加载到数组中并进行排序($ array);
php sort ...
$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
1
0
1
的回答你的问题是密切相关的一些细节,你的天堂”提供。 “最佳/最快”的方式取决于字段的长度,你需要排序多少,你有多少可用内存,磁盘和内存的相对速度,字符串内容的细节......,ad nauseam。
Knuth Vol 3有各种各样的方法的细节。我不记得他是否讨论过基底排序,但他可能会这样做。如果他没有,你应该查找一些基数排序的参考。它只适用于狭隘的情况,但积极飞向那里。如果你有一小组短字符串,由于较低的开销,Bubble Sort在某些体系结构上的性能会好于复杂排序。 C运行时库包含一个快速排序版本,因为在某些情况下,它可能是一个非常有效的大型数据集算法。
Net-net,答案是“它要看”。
1
“最好”的方式取决于很多因素:
- 你需要支持比语言更?
- 你需要同时支持多种语言吗?
- 您是否需要支持当前操作系统或用户语言以外的语言? (例如,web应用程序)
- 您是否需要支持多种编码? (unicode,utf-16le/utf-8,ansi代码页等)
- 您是否需要支持长时间或高度冗余的输入?(预计算或压缩可能会加快排序操作)
- 您是否需要支持大量输入,例如:million或billion输入?
相关问题
- 1. 排序数字串字母
- 2. 排序字母和数字
- 3. 排序字母数字串
- 4. 混合字符串值的字母数字排序:字母数字字母
- 5. 对字母数字数据排序
- 6. PHP排序字母比数
- 7. 按字母排序数组?
- 8. 按字母排序数组?
- 9. 数组排序的字母排序
- 10. Excel VBA排序字母数字宏
- 11. PostgreSQL中的字母数字排序9.4
- 12. SQL Server:用数字排序字母
- 13. 排序的字母数字阵列
- 14. 如何排序字母数字
- 15. 使用LINQ的字母数字排序
- 16. 在Excel中排序字母数字值
- 17. mysql排序字母和数字
- 18. jquery tablesorter - 字母数字排序优先
- 19. LINQ:排序(将字母当作数字)
- 20. 按字母顺序排序,然后按字母顺序排列
- 21. SQL按字母顺序排序的字母数字字段上的字母数字字段
- 22. 排序一个清单:数字升序排列,字母降序
- 23. 按字母顺序排序元素,然后按数字排序
- 24. 我按字母顺序排序而不是数字排序
- 25. 按字母顺序排序
- 26. 排序按字母顺序
- 27. 按字母顺序排序
- 28. 按字母顺序排序
- 29. 按数字排序数组,当数字相同时,按字母排序
- 30. Mysql - priotize按数字排序的字母排序