Programming Algorithms in Lisp: Writing Efficient Programs with Examples in ANSI Common Lisp