Specifically, I want to learn category theory to improve my programming ability in Haskell, but it seems like that would be difficult without a knowledge of abstract algebra, and it seems that a solid understanding of linear algebra is useful to understand abstract algebra.
I'm therefore looking for something showing how these areas of maths depend on each other, but I think that a more general table or graph probably exists (or would be useful).
This question is the same as this one on Stack Overflow, but it seems like a good question for this site, and likely to get much better answers here.
I can't give a fully authoritative answer to this, but I can try to give some indication. The key issue with category theory is that whilst you could probably understand the theory without too many pre-requisites, examples of categories come from all branches mathematics and in order to fully appreciate it, you'd need to have seen some of these examples before. You'd also need a good deal of experience in other disciplines, especially abstract algebra. As such at my university in England, category theory is not offered as an undergraduate course.
I'm going to assume that you have a basic high school proficiency in mathematics - as I have to start somewhere.
First thing you'll need is some elementary set theory - by which I mean a knowledge of what we mean by sets (unions, intersections etc), functions (injections, bijections, surjections), basic notions of countability etc. In fact this is one of the simplest examples of a category.
After this, you'll need a first course in linear algebra, and a first, and possibly second course in abstract algebra covering the rudiments of group theory, ring theory, and perhaps module theory and field theory. This will give you a large bank of examples of categories, as well as some familiarity with some of the ideas that will be explored and their significance.
Other useful things to know about would be posets, which can often be found in a first course on logic. It'd also be handy to know some basic topology for some more examples.
I'd say the raw essentials are:
- Elementary set theory
- Linear algebra
- Group theory
- Ring theory
But the more experience you have in mathematics, the more accessible it will become.