The vectors and lists implemented above are now used to implement composite mathematical objects such as graphs, matrices, meshes, and polynomials. The implementation of these objects uses efficient algorithms in the spirit of their original mathematical formulation in the first half of this book. This way, further users of these objects can deal with them as in the original mathematical theory, with no need to bother with technical details of storage, etc. Such a natural implementation is helpful not only to implement advanced algorithms in elegant and easily-debugged codes but also to understand better the nature of the original mathematical concepts, improve the algorithms, develop more advanced theory, and introduce more advanced mathematical objects for future use.