Algorithm 为字符串指定数字的算法?

Algorithm 为字符串指定数字的算法?,algorithm,Algorithm,我想设计一个字典来存储一个字符串的值,这样当比较两个字符串时,可以使用两个对应的值来确定字典中哪个字符串排在第一位 例如,a的值应小于ab的值。z的值应大于az的值。等等 我试着在谷歌上搜索这个,但没能找到:有没有一个好的方法来实现这个?我看到它非常类似于十进制,但以26为基数。例如,aaa将类似于111,而aaz将类似于1126。但这对z>az的情况不起作用,因为这意味着26>126 我想出的一个解决方案是取最大单词的长度,比如说m,然后对每个字母进行26^m+26^m-1赋值,依此类推。然而

我想设计一个字典来存储一个字符串的值,这样当比较两个字符串时,可以使用两个对应的值来确定字典中哪个字符串排在第一位

例如,a的值应小于ab的值。z的值应大于az的值。等等

我试着在谷歌上搜索这个,但没能找到:有没有一个好的方法来实现这个?我看到它非常类似于十进制,但以26为基数。例如,aaa将类似于111,而aaz将类似于1126。但这对z>az的情况不起作用,因为这意味着26>126


我想出的一个解决方案是取最大单词的长度,比如说m,然后对每个字母进行26^m+26^m-1赋值,依此类推。然而,这需要知道最大单词的长度。有没有这样的算法不需要这样做?

只有自然数/整数不可能做到这一点,因为在任何两个字符串之间都有无穷多的其他字符串,例如asdf
但是,正如注释中所建议的,如果可以使用实数,则可以将字符串映射到char1+char2/27+char3/27^2+。。。。但是,对于长字符串,这将达到最大浮点精度并停止正常工作。

要比较的最大字符串有多大?此外,字符串是否包含字母以外的内容?那么像ñ或œ这样的外语字母呢?为什么需要数字表示?我知道的每种编码语言都有内置的字符串比较函数。它必须是整数吗?如果你使用浮点数,你可以做整数[0]+整数[1]*26^-1+…是的,评论+你的答案正是我想要的。谢谢