【发布时间】:2013-11-05 02:37:53
【问题描述】:
我需要一些帮助。如何在 python 中编写一个实现基数排序的程序?
这里有一些信息:
基数为 10 的整数的基数排序是基于对穿孔卡片的排序, 但事实证明这种排序非常有效。该排序利用一个主要的 bin 和 10 位数的 bin。每个 bin 就像一个队列并维护它的 值按它们到达的顺序。该算法首先将每个 主箱中的编号。然后它考虑每个数字 价值。第一个值被删除并放置在数字箱中 对应个位数。例如 534 放在数字中 bin 4 和 662 被放置在数字 bin 2 中。一旦所有值在 主箱放置在相应的数字箱中, 从 bin 0 到 bin 9 收集值(按此顺序)并放置 回到主箱。该过程以十位数继续, 数百个,等等。处理完最后一位后,主bin 按顺序包含值。使用随机找到的 randint 创建 从 1 到 100000 的随机整数。使用列表理解创建一个 不同大小的列表(10、100、1000、10000 等)。使用索引来 访问数字首先将整数转换为字符串。对于这种 要工作,所有数字必须具有相同的位数。到零垫 带前导零的整数,使用字符串方法 str.zfill()。一次 主 bin 已排序,将字符串转换回整数。
我不确定如何开始,感谢任何帮助。谢谢。
【问题讨论】:
-
欢迎来到 StackOverflow。以为 SO 愿意提供帮助,我们不能给你代码。首先,编写一个伪代码,然后将其转换为 Python 代码。如果您卡在某个地方,请在此处发布您的代码,您更有可能得到更好的响应。
标签: python function radix-sort