Fundamental Algorithms for Computer Science