U běžného kódování známe pravděpodobnosti výskytu znaku ai zdrojové abecedy P(A=ai)=pi ale neznáme délky kódových slov ni. Musíme proto hledat délky kódových slov tak, aby průměrný počet kódových znaků připadajících na jeden zdrojový znak byl minimální. Takové kódy nazýváme efektivní nebo minimální.
Myšlenka efektivního kódu je založena na následujícím tvrzení:
Pro nezávislé vysílání znaků zdrojové abecedy A={ a1, a2, ... , aN } s pravděpodobností jednotlivých znaků P(A=ai) = pi, i=1, ..., N, zvolme délku kódového slova ni tak, že platí:
![]()

Takové číslo existuje jediné a platí pro něj:
![]()
