Algorithms are an ordered collection of predefined steps for solving a specific problem. The problem scope of an algorithms usually is very narrow, but specific problems are somtimes solvable by slightly adapting a well known algorithm. Therefore it's very helpful to know the algorithms many other algorithms are based upon. For example the depth-first-search (DFS) algorithm can be adapted to check if a given graph has a valid 2-coloring or if it contains a rooted spanning tree, or even find the minimum rooted spanning tree.
This project shows some basic algorithms one should know before moving on to more advanced algorithms. Some algorithms also use some basic data structures, such as graphs in case of DFS, threfor you may want to have a look at the basic data structures layed out in data structures first. You could use these implementations for your own projects, but the algorithms focus on teaching basic principles and may not catch all edge cases. If the standard library provides an implementation of an algorithm you should use that instead, as the standard library usually won't cause crashes due to edge cases.