Introduction to Information Theory and Data Compression, Second Edition (Discrete Mathematics and Its Applications)