Advertisement
Guest User

Untitled

a guest
Feb 19th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. Programmet utgår från funktionsanropen \texttt{encode} och \texttt{decode}.
  2.  
  3. Vid kodning grupperas den inmatade textsträngen där varje tupel innehåller antalet förekomster för varje tecken. Denna lista med tupler bearbetas i \texttt{maketree} där varje tecken blir ett löv i ett viktat träd som sedan sammansätts till ett stort viktat träd. Vikterna avlägsnas och trädet blir ett \texttt{Htree}. Huffmanträdet är nu färdigställt. För att framställa Huffmankodningen traverseras listan och letar efter vilka löv som innehåller respektive tecken från textsträngen. Varje väg i trädet sparas i en lista med heltal där $0$ är vänster gren och $1$ är höger gren. Listan slutförs och representerar Huffmankodningen.
  4.  
  5. Avkodningen traverserar listan med heltal som bestämmer vilken väg träd-traverseringen ska ta. När traverseringen når ett löv returneras det tecknet som lövet innehåller och den kodning som kvarstår att avkoda. Denna process repteras till dess att listan med heltal är tom vilket betyder att det inte finns fler tecken att avkoda. I det fallet där trädet endast består av ett löv anropas \texttt{decode} rekursivt med svansen av listan med heltal. Detta eftersom varje tecken kodas med en endaste siffra i detta fall.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement