diff --git a/455-Codage_Sources/Cours/chapA.tex b/455-Codage_Sources/Cours/chapA.tex index 4602a8d..ca9bc83 100644 --- a/455-Codage_Sources/Cours/chapA.tex +++ b/455-Codage_Sources/Cours/chapA.tex @@ -1,16 +1,19 @@ \documentclass[main.tex]{subfiles} \begin{document} \section{Codage d'Huffman} +\subsection{version objet} + +\inputminted{python}{../algo_code/huffman.py} +\subsection{version simple} + +\inputminted{python}{../algo_code/huffman2.py} \section{Codage arithétique} \section{Codage LZW} - - +\inputminted{python}{../algo_code/LZW.py} \end{document} - - %%% Local Variables: %%% mode: latex -%%% TeX-master: t +%%% TeX-master: main.tex %%% End: diff --git a/455-Codage_Sources/algo_code/LZW.py b/455-Codage_Sources/algo_code/LZW.py index 501c985..82fb4cf 100755 --- a/455-Codage_Sources/algo_code/LZW.py +++ b/455-Codage_Sources/algo_code/LZW.py @@ -37,10 +37,6 @@ def decode_LZW(code,univers): print(dictionnaire) return ''.join(msg) - code,dictionnaire = code_LZW(message,univers) -print(code) -print(dictionnaire) msg = decode_LZW(code, univers) -print(message) -print(msg) +print(code, dictionnaire, msg) diff --git a/455-Codage_Sources/algo_code/huffman2.py b/455-Codage_Sources/algo_code/huffman2.py index d9c21ae..7c66476 100755 --- a/455-Codage_Sources/algo_code/huffman2.py +++ b/455-Codage_Sources/algo_code/huffman2.py @@ -28,7 +28,6 @@ def create_tree(table_noeud): root= Noeud(left=queue[0],right=queue[1]) return root - def gen_code(node,prefix=''): def gen_code_rec(node,prefix=''): if node.left != None: @@ -63,8 +62,6 @@ def make_tree(): f.write('{rank =same; N' + '; N'.join([n.code for n in table_noeud]) +';}\n') f.write('}') subprocess.call('dot -Tpng graph.dot -o graph.png', shell=True) - print('done') - def decode_huffman(reverse, code): res ="" @@ -75,23 +72,10 @@ def decode_huffman(reverse, code): text = text[len(k):] return res -table = [ - ('A', 25), - ('B', 20), - ('C', 15), - ('D', 12), - ('E', 10), - ('F', 8), - ('G', 5), - ('H', 5)] - +table = [('A', 25),('B', 20),('C', 15),('D', 12), + ('E', 10),('F', 8),('G', 5),('H', 5)] table_noeud = [Noeud(name=x[0],p=x[1]) for x in table] - -print(table_noeud) root_node= create_tree(table_noeud) -print(root_node) - x= gen_code(root_node) reverse_huffman = {x[i+1]:x[i] for i in range(0,len(x)-1,2)} - print(table_huffman)