A binary tree used for encoding data that assigns shorter codes to characters that appear more frequently.