That book and this one are the two best introductions:
You should get both.
Both will be useless to you unless you know enough math. How far along are you?
I'm no expert, but -
Definitely, absolutely don't start with quantum mechanics. I'd suggest starting with linear algebra, and ensuring that you understand the basic theory very very well before going any further. Eigenvalues, matrix factorizations, linear operators, bases, kernels, Hermitian operators, complex Hilbert spaces, and so on. I'd recommend doing this before even allowing yourself to think the word "quantum".
In addition, the other basic theory you'll need to ensure you understand 100% is the basic theory of Boolean circuits and Boolean algebra, if you don't already. AND gates, OR gates, NAND gates, and their universality. Familiarity here is essential so that you can understand in what senses quantum computing is similar to and different from it. I'd recommend looking into the basic gates of reversible computing as well, but you probably won't understand why exactly that's so relevant to QC until you're into it.
The only other thing you need for a basic understanding of QC is a basic understanding of tensors, particularly the tensor product. I'm in two minds about whether it's worth it to do this right. On the one hand, you could go through the actual formal definition of the tensor product and save yourself a lot of confusion later. On the other hand, you could just do what I did, say "Tensors from the perspective of QC are basically just vectors and matrices and the tensor product for my purposes is just the same thing as the Kronecker product", and understand quantum computation from a practical perspective, though your understanding will be riddled with theoretical holes. If you've never heard of tensors at all, then I'd recommend trying to get some handle on them before going into QC; otherwise I'd recommend learning both at the same time. This is one of those mathematical concepts that I think is hard to understand unless you have a Ur-example in mind; at least in the way I learn, if a tensor just represents "some mathematical object" to you and you don't understand why it's interesting, you'll read the same definition 100 times and your eyes will still glaze over. If you can instead look at a tensor and say "This represents the state of X system", then you'll understand why studying how it transforms is interesting, you'll understand why representing it in different coordinate systems is interesting, and so on.
I'd recommend Quantum Computating: A Gentle Introduction as well; I think it does a good job of tying the theory of quantum computation into other areas that its readership is likely to already understand, like classical computation and probability theory.