This document discusses algorithmic research problems and different types of algorithms used to solve them. It begins by defining an algorithm and providing examples of common algorithm types like search, sorting, shortest path, and more. It then covers different types of algorithmic problems like polynomial problems, which can be solved in polynomial time by polynomial algorithms, and NP-hard or combinatorial problems, which typically require exponential algorithms. Several examples are given of problems that fall into each category. The document also discusses how problem complexity is analyzed and how it relates to the algorithm types.