What do you mean by "most complex"? do you mean the most difficult to program?
when I teach algorithm, I start with sorting example because it is a classical problem.
the easiest way to sort is using Bubble sort algorithm, but it is the most inefficient algorithm O(N*N), because it does swaps locally until the smallest values bubble up and the largest values sink down.
then i move to Selection sort, which is still O(N*N), but in practice it s better than Bubble (less swaps). then insertion sort little bit more difficult, worst case still O(N*N), but its best case O(N), then move the students to divide and conquer methods, where programming become more difficult but algorithms more efficient, for instance Merge sort, and quick sort and their alternatives go to a lower level O(N*LOG N).
I do not want to give impression that the more difficult (to program) algorithm is the most efficient one, as difficulty in this context is a fuzzy thing to be identified, an efficient algorithm perhaps is easier to program than other less efficient one. judging difficulty is different from one person to another.
I guess you should start reading a different book. Catch a hold of Introduction to Algorithms by CLRS (search on google).
Apart from this, you can classify any algorithm according to two ways -
1. Ease of coding (complexity of coding NOT execution)
2. Complexity (efficiency) [1]
The most basic algorithms such as Bubble sort, Insertion sort or Selection sort are inefficient in nature (of the order of O(n^2) ) but very easy to code. Other algorithms such as Merge sort, Quick sort and heap sort can provide an efficient performance (of the order of O( n log n) ) in average or worst cases. However, they are trickier to code.
A little more efficient algorithms are Counting sort and Radix sort which provide O(n) performance for a trade off with memory space and several constraints. However, they are also not trivial to code.
Apart from these, other sorting techniques like Tim sort, Shell sort etc., are very less used because of difficulty in coding and almost same performance as the other sorting techniques [2].