首页 > 试题广场 >

下列编码是前缀码的是( )。

[单选题]

下列编码是前缀码的是(     )。

  • {1,11,101}
  • {1,001,0011}
  • {1,01,001,000}
  • {0,00,000}

在一个字符集中,任何一个字符的编码都不是另一个字符编码的前缀

发表于 2017-06-04 11:21:27 回复(1)
选择C。
首先,得分清楚前缀码和前缀。
百度中的定义:
前缀:设a=010, 则0, 01 ,010都是a的前缀。
个人理解:(010(A)   从0开始(B),01开始(C),010开始(D),BCD这种形式就是A的前缀)。
前缀码:前缀码的意思就是任何一个字符都不是另一个字符串的前缀
例如,{0,10,110}就是一个前缀码,而{0,10,101}就不是前缀码。(此时,10是101的前缀,而由前缀码的定义来看,前缀码的序列内不能出现前缀,因此,{0,10,101}就不是前缀码)。
回到题目:
A {1,11,101}   A选项,1为11的前缀,不合前缀码定义。
B {1,001,0011} B选项,001为0011的前缀,也不合前缀码定义。
C {1,01,001,000}    C选项,每一个序列都互不为前缀,符合前缀码的定义。
D {0,00,000}  D选项,0是00和000的前缀,而00是000的前缀,最不符合。

发表于 2019-10-02 22:05:29 回复(0)
前缀码的意思就是任何一个字符都不是另一个字符串的前缀!!!!是反的!
发表于 2018-07-06 20:57:05 回复(0)

前缀码

设a=b1b2…bn,bi∈{0,1}是一个0-1序列(符号串)。序列b= b1b2…bi (1£ i £ n)称为a的前缀。

例如,设a=010, 则, 0, 01 ,010都是a的前缀.前缀码前缀码

设Q ={a1, a2, …, am}是一个0~1序列集合 . 如果Q中没有一个序列是另一个序列的前缀 , 则称Q为前缀码.

例如,{0,10,110}就是一个前缀码,而{0,10,101}就不是前缀码。

编辑于 2017-09-13 16:25:14 回复(0)