pyC*_*hon 1 algorithm encoding computer-science decoding
嗨,我正在寻找一种算法,将任何有限大的有限长字符串集转换为-1到1之间的特定实数,其中每个字符串都有唯一的实数表示.这个问题是编程语言无关的.
其中每个字符串可以包含许多单词和结束行,以及通过数学定义的实数.我也可以使用任意精度库.
假设您希望每个字符串映射到唯一的实数,也可以将其解码回原始字符串,我会使用算术编码.
基本上,你想要做的是将-1和1之间的实数组划分为一个等于你的字母表中字符数的部分n.要编码单个字符串,只需选择其中一个区域的开头即可.要对字符串的第二个字符进行编码,首先要找到第一个字符所在的区域,然后将该区域细分为n较小的区域,然后选择第二个字符所在的区域.然后,您可以对此解决方案进行递归,以便能够将任意长度的字符串转换为唯一的实数.
例如,让我们说我们的拼音只是人物a和b我们要的字符串编码aba.第一个a给我们区域[-1,0),第二个字符然后细分这个区域,并产生[-0.5,0).重复决赛a以产生该区域[-0.5,-0.75).该区域中的任何数字只能被解码为序列aba(假设我们知道原始字符串的长度,或者我们可以在解码时永远递归).
(有关编码和解码过程的详细说明,请参阅维基百科.请注意,您可能只对此问题的等大小区域感兴趣.)
| 归档时间: |
|
| 查看次数: |
934 次 |
| 最近记录: |