Shannonov - Fanov kód

Tento kód patrí tiež do rodiny VL kódov. Používa podobný princíp tvorby efektívneho kódu ako Huffmanov algoritmus, ale má o niečo menšiu účinnosť. Je ho výhodou je väčšia rýchlosť a ľajšia implementovateľnosť.

Algoritmus

Postupom kódovania pomocou kódu Shannon-Fanon sa nebudeme podrobne zaoberať, pretože je pomerne jednoduchý a dá sa pochopiť aj bez ukážky na príklade. Postup je nasledujúci:

  • usporiadajme zdrojové znaky podľa ich početnosti výskytu
  • rozdeľme ich na dve podskupiny s približne rovnakou relatívnou početnosťou. Hornej podskupine priradíme znak 0, dolnej 1.
  • znaky z každej podskupiny rozdelíme analogicky ako v bode 2
  • postup opakujeme, pokým v jednotlivých skupinách nezostane jeden symbol sám