Fundamentals of computer algorithms (Computer software engineering series)