Algorithm 使用游程长度压缩后写入单词的长度

Algorithm 使用游程长度压缩后写入单词的长度,algorithm,run-length-encoding,Algorithm,Run Length Encoding,我想写出单词w的长度,其形式如下: w=a^nb^mc^pd^q 使用运行长度压缩后,n,m,p,q>=2。另外,如果w=a^2b^3c^4d^5我可以编写w,运行长度压缩为a0b1c00d01。第一个二进制数被删除,因为二进制表示中的数字2(10)、3(11)、4(100)、5(101)都以1开头,所以我们得到 a10b11c100d101==>a0b1c00d01 现在我想写下结果的长度,如果 w =a^nb^mc^pd^q = a |binary(n)|-1 b |binary

我想写出单词
w
的长度,其形式如下:

  • w=a^nb^mc^pd^q
使用
运行长度压缩后,
n,m,p,q>=2
。另外,如果
w=a^2b^3c^4d^5
我可以编写
w
,运行长度压缩为
a0b1c00d01
。第一个二进制数被删除,因为二进制表示中的数字
2(10)、3(11)、4(100)、5(101)
都以1开头,所以我们得到
a10b11c100d101
==>
a0b1c00d01

现在我想写下结果的长度,如果

w  =a^nb^mc^pd^q
   = a |binary(n)|-1 b |binary(m)|-1 c |binary(p)|-1 d |binary(q)|-1
   =   |binary(n)| |binary(m)||binary(p)||binary(q)| -4 +4
   =   |binary(n)| |binary(m)||binary(p)||binary(q)|

无论如何,我的问题是通过编写
二进制(n)
来简化结果。。。作为总和或类似的东西?

是否可以将压缩字一致地扩展到原始字?你会怎么做?您似乎打算使用成对字符(文字字符、长度)。假设有可能知道“一个文字字符的编码结束于何处”:您如何知道长度编码结束于何处,下一对字符可能开始于何处?(想想长度1。)(
第一个二进制数被删除,因为…
使得第一个二进制数可能被删除…(甚至是位)。(关于你的终端问题,我认为可以给出渐近的上下界。)如果在
a^nb^mc^pd^q
a,b,c
d
中是文字符号而不是占位符,则可以忽略它们。使用
0
作为终止符对一元数字系统中的计数进行编码:
10110111011110