我正在寻找一种机制,我可以使用唯一的数字来表示一组字符串,这样当我想对它们进行排序时,我可以使用这些数字对这些值进行排序。
例如,这就是我的想法
我保留一个固定长度的数字20位
每个字母表都用其ASCII /某个字母顺序值
表示 cat - (03)(01)(20)(00)(00)(00)(00)(00)(00)(00) - 03012000000000000000
白内障 - (03)(01)(20)(01)(18)(01)(03)(20)(00)(00) - 03012001180103200000
首都 - (03)(01)(16)(09)(20)(01)(12)(00)(00)(00) - 03011609200112000000
因此,如果我根据数字对其进行排序,它会排序并说出
资本,猫,白内障
这是一个很好的方法吗?
有没有其他方法可以做到这一点,以便我有更多的准确性?
谢谢,
森
答案 0 :(得分:0)
如果您的字符串长度是固定的并且您的字符集固定为100个不同的字符,您可以将字符串的每个字符视为基数为100的数字,以将字符串转换为双精度。
如果您的字符串集比可能的字符串集小得多,则可以对它们进行哈希处理,并且对于冲突,可以任意但一致地定义排序顺序。
在特定情况下,我可能不会推荐其中任何一种,但作为超级通用的解决方案,你所说的有效。但如果你问一下似乎是一个理论问题,理论上的答案似乎是恰当的。