用Python解决RADIX-SORT
昨天有场和alogrithm老师的interview,被问到用radix-sort解决一个每个元素含有三个字符的列表排序问题。
"illustrate the operation of RADIX-SORT on the following list of English words: COW, DOG, SEA, RUG, ROW, MOB, BOX, TAB, BAR, EAR, TAR, DIG, BIG, TEA, NOW, FOX."
分析
- 每个元素由3个字符组成
- 每个字符都为大写的A-Z
思路
- 创建一个列表内含26个空的列表
- 利用python的特性,从倒数开始排序(index = -1)
- 获取每个元素的某个字符,转换成aciss,再放到相应的列表里
- 按顺序取出每个list里的字符串,赋值给源列表
- 循环3次以上步骤,最后输出即可得到radix-sort后的列表