The Algorithm Design Manual 2ed is a good book to study basic algorithms, which include many topics such as Weighted Graph Algorithms, Sorting and Searching, Data Structures, Algorithm Analysis and many others. One should learn it and make code to deal with own problem. Hope this help.