Algorithms - Theory and Analysis