Higher overhead on each end. Suppose that we wanted to transfer a 20 Mb file to another machine. There are three general approaches to data compression. Each approach assumes that the data stream can be transformed into a more compact representation, which the receiver reconstructs back into the original data. Finite Set of Symbols Consider a library with many branch offices in which the previous days transactions are sent to every other branch after closing.
Transactions consist of checked out and returned books.
Alternatively, the library could maintain a sitewide table assigning a unique ID number to every book in every branch. Transactions could then refer to the book's ID number, rather than its title. We frequently exchange pointers and array subscripts to avoid the cost of transferring large amounts of data between subroutines. If we examine text, however, we immediately notice that some words appear more often than others. We could reduce the number of bits needed to represent a document by using a coding scheme that employs small code words to represent common words and longer code words to represent words the appear infrequently.