MSD String Sort算法产生几乎正确的结果

时间:2015-10-27 18:47:05

标签: python sorting

对于应用程序,我正在尝试各种排序方法。第一个是MSD String排序,除了第一个项目之外,它排序正确。代码包含在this gist

以下非成员['I','need','a','sentence','that','will','produce','a','sentence', 'at','least','twenty', 'characters','long','this','is','currently','fifteen','foot','long']
分为以下几种:
['I', 'a', 'a', 'at', 'characters', 'currently', 'fifteen', 'foot', 'is', 'least', 'long', 'long', 'need', 'produce', 'sentence', 'sentence', 'that', 'this', 'twenty', 'will']

2 个答案:

答案 0 :(得分:2)

任何大写字母都出现在小写字母之前,因此在这种情况下,资本I实际上是最小的,这意味着此排序算法按预期工作。

答案 1 :(得分:0)

所有字符都有相应的数值。这就是python如何对它们进行排序;它只是将字母的数值排序为最低到最高。

例如,参见ASCII编码:http://www.asciitable.com/ 大写字母在表格中排在第一位,因此它们的值较低,因此在排序算法中优先使用。