digital image processing - an algorithmic introduction using java .
The Design And Analysis Of Computer Algorithms