this book is classic , i won't recommend for the first reading. But once you have some introduction from book like Gallian (i would recommend it for the first read) ,this book is great ,It's exercises are awesome . It requires some time to read it , but it is worth spending time. type setting is somewhat bad , but anyways try it once .