Data decompression - MATLAB Cody - MATLAB Central

Problem 185. Data decompression

Difficulty:Rate

A chunk of data is to be 'decompressed'.

Input:

  • compressed: a row vector of uint8 values. This is the compressed data.
  • table: a cell-array of strings. Each string contains only '1's and '0's and represents a binary code.
  • alphabet: a string containing all possible symbols that may occur in the decompressed data. The symbol at alphabet(x) is encoded with the code at table{x}.

Output:

  • decompressed: a string with the decoded message.

Example:

compressed=[93,85,127]
table={'1','010'}
alphabet='al'
==>  decompressed = 'laaalalalaaaaaaa'

because:

[93,85,127] = '01011101 01010101 01111111' in binary
decoded from left to right:
'010 1 1 1 010 1 010 1 010 1 1 1 1 1 1 1'
= l  a a a  l  a  l  a  l  a a a a a a a

Remarks: The message is such that always exactly all bits of compressed are used. The solution is unique (see prefix-free code).

Solution Stats

30.77% Correct | 69.23% Incorrect
Last Solution submitted on Jun 10, 2025

Problem Comments

Solution Comments

Show comments
Why should you share code?
In a discussion on LInkedin about my recent blog post, Do these...
3
6

Problem Recent Solvers85

Suggested Problems

More from this Author7

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!