Persyaratan pengkodean sebagai awalan gratis menghasilkan pohon besar karena pohon harus lengkap. Apakah ada ambang batas tempat penyimpanan data yang tidak dikodekan dengan panjang tetap akan lebih efisien daripada pengkodean data?
Persyaratan pengkodean sebagai awalan gratis menghasilkan pohon besar karena pohon harus lengkap. Apakah ada ambang batas tempat penyimpanan data yang tidak dikodekan dengan panjang tetap akan lebih efisien daripada pengkodean data?
Jawaban:
Entropi H(A)
untuk masalah ini adalah 1.998
. Baik pengkodean Huffman dan pengkodean panjang tetap untuk masalah ini memiliki panjang kode rata-rata avg sebagai 2
. Dan FYI pengkodean yang Anda dapatkan menggunakan Huffman Encoding salah. Huffman Encoding juga menghasilkan kode yang mirip dengan panjang tetap untuk masalah ini. Itu menggunakan pendekatan serakah. Jadi a
tidak mendapatkan kode 0
melainkan mendapat 00
. Mengolah ulang pohon yang Anda hasilkan menggunakan Huffman Coding. Pohon yang harus Anda dapatkan adalah:
Pengodean Huffman mendekati distribusi populasi dengan kekuatan dua probabilitas. Jika distribusi sebenarnya terdiri dari kekuatan dua probabilitas (dan simbol input sama sekali tidak berkorelasi), pengkodean Huffman optimal. Jika tidak, Anda bisa melakukan yang lebih baik dengan pengkodean rentang. Namun optimal di antara semua pengkodean yang menetapkan set bit tertentu untuk simbol tertentu dalam input.
Ya, selalu optimal.
Tidak, tidak ada ambang batas di mana ia akan menggunakan lebih sedikit ruang untuk menggunakan data yang tidak dikodekan dengan panjang tetap.
Saya menemukan sejumlah bukti di Web, tetapi ada diskusi yang cukup di artikel Wikipedia pengkodean Huffman .
Ini juga mencakup teknik lain yang mencapai kompresi lebih tinggi (bekerja di luar ruang di mana kode Huffman optimal).