Хелпикс

Главная

Контакты

Случайная статья





Код Хаффмана



Код Хаффмана

Идея, положенная в основу кодирования Хаффмана, основана на частоте появления символа в последовательности. Символ, который встречается в последовательности чаще всего, получает новый очень маленький код, а символ, который встречается реже всего, получает, наоборот, очень длинный код. Это нужно, так как мы хотим, чтобы, когда мы обработали весь ввод, самые частотные символы заняли меньше всего места (и меньше, чем они занимали в оригинале), а самые редкие — побольше (но так как они редкие, это не имеет значения).

№ 1. Для ко­ди­ро­ва­ния букв О, В, Д, П, А ре­ши­ли ис­поль­зо­вать дво­ич­ное пред­став­ле­ние чисел 0, 1, 2, 3 и 4 со­от­вет­ствен­но (с со­хра­не­ни­ем од­но­го не­зна­ча­ще­го нуля в слу­чае од­но­раз­ряд­но­го пред­став­ле­ния). Если за­ко­ди­ро­вать по­сле­до­ва­тель­ность букв ВО­ДО­ПАД таким спо­со­бом и ре­зуль­тат за­пи­сать вось­ме­рич­ным кодом, то по­лу­чит­ся

1) 22162

2) 1020342

3) 2131453

4) 34017

№ 2. Для пе­ре­да­чи по ка­на­лу связи со­об­ще­ния, со­сто­я­ще­го толь­ко из сим­во­лов А, Б, В и Г, ис­поль­зу­ет­ся по­сим­воль­ное ко­ди­ро­ва­ние: А-00, Б-11, В-010, Г-011. Через канал связи пе­ре­да­ётся со­об­ще­ние: ВБ­ГА­ГВ. За­ко­ди­руй­те со­об­ще­ние дан­ным ко­дом. По­лу­чен­ное дво­ич­ное число пе­ре­ве­ди­те в шест­на­дца­те­рич­ный вид.

1) CBDADC

2) 511110

3) 5В1А

4) А1В5

№ 3. Для ко­ди­ро­ва­ния со­об­ще­ния, со­сто­я­ще­го толь­ко из букв А, Б, В и Г, ис­поль­зу­ет­ся не­рав­но­мер­ный по длине дво­ич­ный код:

А Б В Г

Если таким спо­со­бом за­ко­ди­ро­вать по­сле­до­ва­тель­ность сим­во­лов ВГАГ­БВ и за­пи­сать ре­зуль­ по­лу­чит­ся:

1) CDADBC

2) A7C4

3) 412710

4) 4С7А

№ 4. Черно-белое раст­ро­вое изоб­ра­же­ние ко­ди­ру­ет­ся по­строч­но, на­чи­ная с ле­во­го верх­не­го угла и за­кан­чи­вая в пра­вом ниж­нем углу. При ко­ди­ро­ва­нии 1 обо­зна­ча­ет чер­ный цвет, а 0 – белый.

Для ком­пакт­но­сти ре­зуль­тат за­пи­са­ли в вось­ме­рич­ной си­сте­ме счис­ле­ния. Вы­бе­ри­те пра­виль­ную за­пись кода.

1) 57414

2) 53414

3) 53412

4) 53012

№ 5. Для 5 букв ла­тин­ско­го ал­фа­ви­та за­да­ны их дво­ич­ные коды (для не­ко­то­рых букв - из двух бит, для не­ко­то­рых - из трех). Эти коды пред­став­ле­ны в таб­ли­це:

a b c d e

Опре­де­ли­те, какой набор букв за­ко­ди­ро­ван дво­ич­ной стро­кой 1100000100110

1) baade

2) badde

3) bacde

4) bacdb

№ 6. Для пе­ре­да­чи чисел по ка­на­лу с по­ме­ха­ми ис­поль­зу­ет­ся код про­вер­ки чет­но­сти. Каж­дая его цифра за­пи­сы­ва­ет­ся в дво­ич­ном пред­став­ле­нии, с до­бав­ле­ни­ем ве­ду­щих нулей до длины 4, и к по­лу­чив­шей­ся по­сле­до­ва­тель­но­сти до­пи­сы­ва­ет­ся сумма её эле­мен­тов по мо­ду­лю 2 (на­при­мер, если пе­ре­даём 23, то по­лу­чим по­сле­до­ва­тель­ность 0010100110). Опре­де­ли­те, какое число пе­ре­да­ва­лось по ка­на­лу в виде 01100010100100100110?

1) 6543

2) 62926

3) 62612

4) 3456

№ 7. По ка­на­лу связи пе­ре­да­ют­ся со­об­ще­ния, со­дер­жа­щие толь­ко 4 буквы — П, О, Р, Т. Для ко­ди­ро­ва­ния букв ис­поль­зу­ют­ся 5-би­то­вые ко­до­вые слова:

П — 11111, О — 11000, Р — 00100, Т — 00011.

Для этого на­бо­ра ко­до­вых слов вы­пол­не­но такое свой­ство: любые два слова из на­бо­ра от­ли­ча­ют­ся не менее чем в трёх по­зи­ци­ях.

Это свой­ство важно для рас­шиф­ров­ки со­об­ще­ний при на­ли­чии помех (в пред­по­ло­же­нии, что пе­ре­да­ва­е­мые биты могут ис­ка­жать­ся, но не про­па­да­ют). За­ко­ди­ро­ван­ное со­об­ще­ние счи­та­ет­ся при­ня­тым кор­рект­но, если его длина крат­на 5 и каж­дая пятёрка от­ли­ча­ет­ся от не­ко­то­ро­го ко­до­во­го слова не более чем в одной по­зи­ции; при этом счи­та­ет­ся, что пятёрка ко­ди­ру­ет со­от­вет­ству­ю­щую букву. На­при­мер, если при­ня­та пя­тер­ка 00000, то счи­та­ет­ся, что пе­ре­да­ва­лась буква Р.

Среди при­ведённых ниже со­об­ще­ний най­ди­те то, ко­то­рое при­ня­то кор­рект­но, и ука­жи­те его рас­шиф­ров­ку (про­бе­лы не­су­ще­ствен­ны).

11011 11100 00011 11000 01110

00111 11100 11110 11000 00000

1) ПОТОП

2) РОТОР

3) ТОПОР

4) ни одно из со­об­ще­ний не при­ня­то кор­рект­но

№ 8. Для пе­ре­да­чи дан­ных по ка­на­лу связи ис­поль­зу­ет­ся 5-би­то­вый код. Со­об­ще­ние со­дер­жит толь­ко буквы А, Б и В, ко­то­рые ко­ди­ру­ют­ся сле­ду­ю­щи­ми ко­до­вы­ми сло­ва­ми:

А — 10010, Б — 11111, В — 00101.

При пе­ре­да­че воз­мож­ны по­ме­хи. Од­на­ко не­ко­то­рые ошиб­ки можно по­пы­тать­ся ис­пра­вить. Любые два из этих трёх ко­до­вых слов от­ли­ча­ют­ся друг от друга не менее чем в трёх по­зи­ци­ях. По­это­му если при пе­ре­да­че слова про­изо­шла ошиб­ка не более чем в одной по­зи­ции, то можно сде­лать обос­но­ван­ное пред­по­ло­же­ние о том, какая буква пе­ре­да­ва­лась. (Го­во­рят, что «код ис­прав­ля­ет одну ошиб­ку».) На­при­мер, если по­лу­че­но ко­до­вое слово 00100, счи­та­ет­ся, что пе­ре­да­ва­лась буква В. (От­ли­чие от ко­до­во­го слова для Б толь­ко в одной по­зи­ции, для осталь­ных ко­до­вых слов от­ли­чий боль­ше.) Если при­ня­тое ко­до­вое слово от­ли­ча­ет­ся от ко­до­вых слов для букв А, Б, В более чем в одной по­зи­ции, то счи­та­ет­ся, что про­изо­шла ошиб­ка (она обо­зна­ча­ет­ся 'х').

По­лу­че­но со­об­ще­ние 10000 10101 11001 10111. Де­ко­ди­руй­те это со­об­ще­ние — вы­бе­ри­те пра­виль­ный ва­ри­ант.

1) АВББ

2) хххх

3) АВхБ

4) АххБ

№ 9. Для ко­ди­ро­ва­ния не­ко­то­рой по­сле­до­ва­тель­но­сти, со­сто­я­щей из букв А, Б, В, Г и Д, ре­ши­ли ис­поль­зо­вать не­рав­но­мер­ный дво­ич­ный код, поз­во­ля­ю­щий од­но­знач­но де­ко­ди­ро­вать дво­ич­ную по­сле­до­ва­тель­ность, по­яв­ля­ю­щу­ю­ся на приёмной сто­ро­не ка­на­ла связи. Для букв А, Б, В и Г ис­поль­зо­ва­ли такие ко­до­вые слова: А — 111, Б — 110, В — 101, Г — 100.

Ука­жи­те, каким ко­до­вым сло­вом из пе­ре­чис­лен­ных ниже может быть за­ко­ди­ро­ва­на буква Д. Код дол­жен удо­вле­тво­рять свой­ству од­но­знач­но­го де­ко­ди­ро­ва­ния. Если можно ис­поль­зо­вать более од­но­го ко­до­во­го слова, ука­жи­те крат­чай­шее из них.

1) 1

2) 0

3) 01

4) 10

№ 10. По ка­на­лу связи пе­ре­да­ют­ся со­об­ще­ния, со­дер­жа­щие толь­ко 4 буквы:

Е, Н, О, Т.

В любом со­об­ще­нии боль­ше всего букв О, сле­ду­ю­щая по ча­сто­те буква − Е, затем − Н. Буква Т встре­ча­ет­ся реже, чем любая дру­гая.

Для пе­ре­да­чи со­об­ще­ний нужно ис­поль­зо­вать не­рав­но­мер­ный дво­ич­ный код, до­пус­ка­ю­щий од­но­знач­ное де­ко­ди­ро­ва­ние; при этом со­об­ще­ния долж­ны быть как можно ко­ро­че. Шиф­ро­валь­щик может ис­поль­зо­вать один из пе­ре­чис­лен­ных ниже кодов. Какой код ему сле­ду­ет вы­брать?

1) Е−0, Н−1, O−00, Т−11

2) O−1, Н−0, Е−01,Т−10

3) Е−1, Н−01, O−001, Т−000

4) О−0, Н−11, Е−101, Т−100

№ 11. Для ко­ди­ро­ва­ния не­ко­то­рой по­сле­до­ва­тель­но­сти, со­сто­я­щей из букв К, Л, М, Н, ре­ши­ли ис­поль­зо­вать не­рав­но­мер­ный дво­ич­ный код, удо­вле­тво­ря­ю­щий усло­вию Фано. Для буквы Н ис­поль­зо­ва­ли ко­до­вое слово 0, для буквы К — ко­до­вое слово 110. Ка­ко­ва наи­мень­шая воз­мож­ная сум­мар­ная длина всех четырёх ко­до­вых слов?

1) 7

2) 8

3) 9

4) 10

При­ме­ча­ние. Усло­вие Фано озна­ча­ет, что ни­ка­кое ко­до­вое слово не яв­ля­ет­ся на­ча­лом дру­го­го ко­до­во­го слова. Это обес­пе­чи­ва­ет воз­мож­ность од­но­знач­ной рас­шиф­ров­ки за­ко­ди­ро­ван­ных со­об­ще­ний.

№12. По ка­на­лу связи пе­ре­да­ют­ся со­об­ще­ния, каж­дое из ко­то­рых со­дер­жит 16 букв А, 8 букв Б, 4 буквы В и 4 буквы Г (дру­гих букв в со­об­ще­ни­ях нет). Каж­дую букву ко­ди­ру­ют дво­ич­ной по­сле­до­ва­тель­но­стью. При вы­бо­ре кода учи­ты­ва­лись два тре­бо­ва­ния:

а) ни одно ко­до­вое слово не яв­ля­ет­ся на­ча­лом дру­го­го (это нужно, чтобы код до­пус­кал од­но­знач­ное де­ко­ди­ро­ва­ние);

б) общая длина за­ко­ди­ро­ван­но­го со­об­ще­ния долж­на быть как можно мень­ше.

Какой код из при­ведённых ниже сле­ду­ет вы­брать для ко­ди­ро­ва­ния букв А, Б, В и Г?

1) А:0, Б:10, В:110, Г:111

2) А:0, Б:10, В:01, Г:11

3) А:1, Б:01, В:011, Г:001

4) А:00, Б:01, В:10, Г:11

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.