4.3.2. Konstrukce nerovnoměrných kódů

Ke konstrukci nerovnoměrných kódů se využívají grafy (viz obr. 4.2.). V teorii grafů se takovýto graf nazývá strom. Strom obsahuje uzly a z každého uzlu stromu vycházejí dvě hrany. Posloupnost za sebou následujících hran se nazývá cesta.



Obr. 4.2. Konstrukce nerovnoměrného kódu

Po dohodě, že při pohybu po stromě od jednoho uzlu k druhému přiřadíme:
a) směrem doprava   - 1
b) směrem doleva     - 0

Z toho vyplývá, že každé cestě začínající v kořeni stromu odpovídá nějaké kódové slovo a každému kódovému slovu je jednoznačně přiřazena nějaká cesta začínající v kořeni stromu.
Platí:
Přiřadíme-li zdrojovému znaku ai nějakou cestu začínající v kořeni stromu, pak žádné jiné zdrojové slovo ajai nemůže mít přiřazenou cestu, která by obsahovala celou cestu přiřazenou znaku ai. Toto pravidlo se označuje jako vlastnost předpony - P (prefix property) a takovéto kódy se nazývají P-kódy. Tyto kódy jsou jednoznačně dekódovatelné. Jejich dekódování spočívá v postupném ověřování patří-li přijaté kódové slovo (nebo jeho část) do kódu, nebo ne.
Uvažujme, že pro zdrojovou abecedu A={ a1, a2, ... , aN } zadáme dopředu délku kódových slov příslušících jednotlivým zdrojovým znakům. Budeme tedy vyžadovat, aby znaku aiA odpovídalo kódové slovo délky ni, i=1, ..., N.
Mc Millan (1956) dokázal, že pro jednoznačně dekódovatelný kód s délkami kódových slov n1, n2, ..., nN platí: