In the book, Algorithm Design Manual by Steven S. Skiena, he states "Becoming familiar with many different algorithmic graph problems is more important than understanding the details of particular graph algorithms." Unfortunately, I don't quite understand this phrase, as this is my first experience with Algorithm Designs. Can anyone explain the difference between the two above statements and use a real-world example where this would be true?
The author suggests that you become aware of the kinds of problems that graph algorithms can solve, rather than on the details of these algorithms. To give an example from a different field, it is much more useful to know that linear programs can be solved than to understand how the simplex algorithm works. Another example closer to the subject matter is maximum flow – again, it is more important to be familiar with the problem than with any algorithm for solving it.
You can always look up the algorithm that solves a particular problem – and if you're lucky, perhaps somebody already implemented it in some library. But you have first to know which known problems to reduce your own problem to.