ข้อกำหนดของการเข้ารหัสที่จะนำหน้าเป็นผลลัพธ์ฟรีในต้นไม้ขนาดใหญ่เนื่องจากต้นไม้ต้องสมบูรณ์ มีเกณฑ์ที่การจัดเก็บข้อมูลที่ไม่มีการเข้ารหัสความยาวคงที่จะมีประสิทธิภาพมากกว่าการเข้ารหัสข้อมูลหรือไม่?
ข้อกำหนดของการเข้ารหัสที่จะนำหน้าเป็นผลลัพธ์ฟรีในต้นไม้ขนาดใหญ่เนื่องจากต้นไม้ต้องสมบูรณ์ มีเกณฑ์ที่การจัดเก็บข้อมูลที่ไม่มีการเข้ารหัสความยาวคงที่จะมีประสิทธิภาพมากกว่าการเข้ารหัสข้อมูลหรือไม่?
คำตอบ:
เอนโทรปีสำหรับปัญหานี้คือH(A)
1.998
ทั้งการเข้ารหัส Huffman และการเข้ารหัสความยาวคงที่สำหรับปัญหานี้มีความยาว codeword avg 2
ดังนี้ และ FYI การเข้ารหัสที่คุณได้ใช้การเข้ารหัส Huffman นั้นผิด การเข้ารหัส Huffman ยังสร้างรหัสที่คล้ายกับความยาวคงที่สำหรับปัญหานี้ มันใช้วิธีโลภ ดังนั้นa
ไม่ได้รับรหัสเป็นแต่แทนที่จะได้รับ0
00
ทำใหม่บนต้นไม้ที่คุณสร้างโดยใช้ Huffman Coding ต้นไม้ที่คุณควรได้รับคือ:
การเข้ารหัส Huffman ใกล้เคียงกับการกระจายตัวของประชากรด้วยพลังของความน่าจะเป็นสองอย่าง หากการแจกแจงที่แท้จริงประกอบด้วยพลังของความน่าจะเป็นสองอย่าง (และสัญลักษณ์อินพุทนั้นไม่เกี่ยวข้องกันอย่างสมบูรณ์) การเข้ารหัส Huffman นั้นเหมาะสมที่สุด ถ้าไม่คุณสามารถทำได้ดีกว่าด้วยการเข้ารหัสช่วง อย่างไรก็ตามจะเป็นการดีที่สุดในการเข้ารหัสทั้งหมดที่กำหนดชุดบิตเฉพาะให้กับสัญลักษณ์เฉพาะในอินพุต
ใช่มันเป็นสิ่งที่ดีที่สุดเสมอ
ไม่ไม่มีเกณฑ์ที่จะใช้พื้นที่น้อยกว่าในการใช้ข้อมูลที่ไม่มีการเข้ารหัสความยาวคงที่
ผมพบว่าจำนวนของการพิสูจน์บนเว็บ แต่มีการอภิปรายเพียงพอในบทความวิกิพีเดียHuffman การเข้ารหัส
นอกจากนี้ยังครอบคลุมถึงเทคนิคอื่น ๆ ที่ได้รับการบีบอัดที่สูงขึ้น (ทำงานนอกพื้นที่ที่รหัส Huffman เหมาะสมที่สุด)