Most university classes on Algorithms, is simply to build a Binary Search Tree. Or maybe a Red Black Tree, for the more advanced courses.
The concept is easy enough.
The challenge may lie in the part where you must write the code in an unfamiliar language to yourself, like C++, which has its own pitfalls in trying to understand how pointers work, and to code it out, while not destroying your program.
Recall that the core language is easy enough to learn. Rather, it is all the libraries and standards around a language, that is challenging to a new programmer to learn, and this basically requires time spent to master it.
I think we're talking about different classes. Computer science 102 traditionally teaches data structures and algorithms coding. Analysis of algorithms teaches the mathematical techniques for evaluating algorithms by their time and space efficiency.