In my university, there is a core course called "basics computer science for mathematicians". The topics covered range from algorithms, to the bases of programming, to theory of computability.

The professor told me that we cover only basic algorithms for time reasons, but that a thorough knowledge of algorithms is necessary for a pure mathematician too, and he suggested I should read Introduction to Algorithms by Cormen et al to make the most out of his course.

I would like to ask: (1) is it actually true that a pure mathematician would benefit from a deep knowledge of algorithms in his research work? (2) from a mathematical point of view, are there other books which I should prefer to Introduction to Algorithms?

  • 1
    $\begingroup$ Would you benefit? Certainly! Would it be worth the time? It depends... If your main research interests do not overlap with discrete mathematics, then I would say that Introduction to Algorithms is too technical and too thick. On the other hand, basic algorithmic ideas (like binary search, etc.) will be of use many times, for more consideration see this question and its answers. $\endgroup$ – dtldarek Nov 30 '14 at 22:44
  • $\begingroup$ @dtldarek Thank you for your comment and for the reference. $\endgroup$ – Dal Dec 1 '14 at 15:56

Algorithms come up a lot in mathematics, especially in discrete mathematics. The obvious place is graph theory and combinatorics. You will get into things like spanning trees, path-finding, constructing independent sets, network flows, etc. Of course, you will want to solve the optimization problems as well. So understanding why the algorithms work will give you some insights into the problems.

Other areas of mathematics also come into play. For example, did you know that constructing a spanning tree is very related to constructing a basis for a vector space? We relate these with Matroid Theory, where we have a ground set $G$ and a set $I \subset 2^{G}$ where each element of $I$ is an independent subset of $G$. If $G$ is a set of vectors, $I$ is the set of all linearly independent sets of vectors.

Linear independence is also related to projective plane geometry. Co-linearity on the Fano plane can also be described using a Matroid.

Once we have our Matroid set up, we can sort the elements of $G$ and use a greedy basis algorithm to solve the optimization problem.

The theory of algorithms also gets into the theory of $\mathcal{NP}$-Completeness and complexity. It is helpful to understand the idea of a problem with (we believe) no efficient solution, and to prove it. You will also get into analyzing an algorithm's time and space efficiency. This skill is helpful if you work on the Numerical/Applied side of things, for designing and selecting efficient algorithms in your mathematical model. If you are doing a lot of high-powered and high-performance modeling, this is very useful.

  • $\begingroup$ Thanks for your insight :). $\endgroup$ – Dal Dec 1 '14 at 22:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.