There are lots of good answers here, so I'm not going to add any additional book recommendations. I just want to warn you of one misconception I had when I was in your position. It is best illustrated by example but don't worry if you don't understand all the terms. That's part of the point.
A vector space is mathematical structure defined in terms of another called a field: for example the real numbers are a field and the plane is a vector space. Now, a field is a special case of another structure called a commutative ring. A field is just a commutative ring in which you can do division; the integers are an example of a commutative ring. Now, commutative rings are built out of abelian groups, which are themselves a certain kind of group.
My reaction to seeing such definitions was to assume that the best way to learn about the ones at the top of the hierarchy (e.g. vector spaces) was to develop a solid understanding of those at the bottom (e.g. groups). This seems natural because math is supposed to be a very methodical thing and logically if B is defined in terms of A you might expect you'd want to understand A first.
It turns out that this is for the most part wrong. The reason is that there are all sorts of crazy groups out there, but the abelian ones are some of the simplest and easiest to understand. This type of reasoning can be applied at each level, and when you get all the way up to vector spaces, you get a family of objects which behave very nicely, having eliminated some complicated behavior at each stage.
Of course, you won't be able to appreciate quite how nice the situation is until you later on learn what can go wrong when you take a few steps down the hierarchy. But generally speaking, it is easier to learn about objects with lots of structure than those which have very little.