On Sun, Nov 04, 2001, guy keren wrote about "Re: [hackers-il] borrowing CS books":

> regarding algorithm books - not sure they are worth buying - when you need

> to program them, you don't care about proofs (which are large parts of

> books about algorithms) - rather about the algorithm itself, its purpose

> and its time/space requirements. and those - you usually have in lecture

> notes anyway, or you need algorithms that aren't covered by the book.

I haven't read that book, so I can't comment on the specific book, but I

don't agree about the uselessness of proofs. Besides being an interesting

read (well, what do you expect a Mathematician to say ;)), learning how

existing proofs work will help you one day when you need an algorithm which

isn't exactly one of the algorithms in the book, and you need to invent your

own algorithm. After you define your algorithm you need to make sure that it

indeed does what you want in all cases. I won't lie and say that this happens

frequently (in most cases you can use existing algorithms, or invent one whose

proof is "self evident"), but it did happen to me on several occasions

(especially in the area of graph algorithms).

Reading those proofs will probably also show you that there's more to life

than those O(...) numbers: there are typical case numbers, worst-case

numbers, there are memory-usage issues, and so on. One algorithm can be

typically faster than another but worse in certain cases (e.g., quick-sort vs.

heap-sort, if I remember correctly), use more memory but behave differently

in certain respects (e.g., BFS vs. DFS) and so on.

Of course, it doesn't mean you need to *buy* that book. Maybe writing good

notes in class is enough for you for now, and you can buy it (or one of

the other good books on this subject) later.

--

Nadav Har'El | Monday, Nov 5 2001, 19 Heshvan 5762

nyh@... |-----------------------------------------

Phone: +972-53-245868, ICQ 13349191 |Unlike Microsoft, a restaurant will give

http://nadav.harel.org.il |me food for free if I find a bug in it!