Coding and information theory Data structures and information storage mathematics