diff --git a/455-Codage_Sources/Cours/chapA.tex b/455-Codage_Sources/Cours/chapA.tex index 4602a8d24620bc6dbd581723d53d637f908cb62c..ca9bc83612b67b90dd346bac02d52f60f02b8bb1 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} -\section{Codage arithétique} -\section{Codage LZW} +\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 501c985f183eafbb9d6e9fa630d948a78d831cac..82fb4cf20ab157f287b21115ccc6b465788e93ff 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 d9c21aefdf3dcfad47b4b12de2b9ab934d42bedf..7c66476d3ddd09f9b30339292768adea31ad3a83 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)