Кодом.
Берёшь либо описание готового алгоритма, либо придумываешь свой.
А потом реализуешь его в виде кода.
Вот например исходный код 7zip на C++:
PS: Знаю что звучит как "чтобы нарисовать сову - нарисуйте круг, а потом добавьте деталей, чтобы получилось сова".
Но при такой постановке вопроса и формате ответов не выйдет описать подробнее.