Page 1 of 2
Algorithm Books
Posted: Tue Dec 16, 2003 12:22 am
by Eva
Hi all expert programmers and honorable sir,
What books usually need to do programming contests?
All you can say from programming to algorithms and maths.
Anything you think useful would you mention please?
Posted: Wed Dec 17, 2003 2:42 pm
by sohel
To me 'Introduction to Algorithm' by Coreman is the best.
For basic Geometrical problems I think O'Level Books are enough.
I am also curious to find out the books that will help to solve harder problems.
Posted: Thu Dec 18, 2003 1:06 am
by Eva
I need more!

Posted: Thu Dec 18, 2003 8:55 am
by sohel
To be honest, I think this board is the best 'book' for solving ACM problems. Here you can ask for help about any topic of your choice and the help comes from the world's best programmers.
Posted: Thu Dec 18, 2003 1:42 pm
by Tahseen Mohammad
Here is some books.
Algorithm - Sedgewick, shahni
Discrete math - Rosen
Concrete math - Knuth
Number theory - one by Ivan Niven, another by Undrewood duddly
Graph Theory - Doglas
Read any good book on algorithm, discrete math, number theory, graph
theory. But the important thing is you won't find direct solution of good
problems in any book. You may find the basic idea and you have to make
modificaiton on it or you may have glue together 2/3 ideas to get a
solution.
Also read 1/2 good books on the language that you're using. There is no
point in Reinventing the wheel
Hope this helps.
Posted: Mon Dec 22, 2003 4:55 pm
by Eva
Thank you very much, thank you all for your help.
Thaseen your post was useful.
Posted: Mon Dec 22, 2003 5:14 pm
by Larry
Don't forget Skiena's books. They're both pretty good.
Posted: Tue Dec 23, 2003 9:57 am
by Tahseen Mohammad
I have not read any of skienas book thoroughly.
But Larry I wonder how much useful are they and
at what level.
One thing about Algorithm Design Manual. It seems the
focus is on to professional progrmming. For many problem
there is not much explanation (may be they are enough for
very good programmers but not for me) rather he gave
referece to available libraries which we cannot use for our
purpose. It seems that its a renowned book. So some help
on how can I maximize its use will be helpful.
Posted: Fri Dec 26, 2003 11:16 pm
by Grinder
Hi
Recently i got "Sedgewick" Graph part. This is a boss book for graph problem. And at last the Internet. For acm
practice!!
practice!!
practice!!
Do not forget about Baibel of the algorithm 'Coreman'.

Posted: Fri Dec 26, 2003 11:19 pm
by Grinder
Hi
Recently i got "Sedgewick" Graph part. This is a boss book for graph problem. And at last the Internet. For acm
practice!!
practice!!
practice!!
Do not forget about Baibel of the algorithm 'Coreman'.

Where can I find those book !
Posted: Sat Jan 31, 2004 7:00 am
by Duy Hung
Because I'm in Vietnam, so I can't find those book
Posted: Sat Jan 31, 2004 11:47 am
by titid_gede
Posted: Sat Jan 31, 2004 3:45 pm
by little joey
When I started here, I had no formal knowledge of algorithms, so I was in dire need of information too. Here are some of my experiences:
1. The board
I think this is the best source for information with respect to solving particular problems. Many hints are given and you can learn a lot by examining other people's code (even though it doesn't solve the problem in many cases).
2. The Internet
Alas there is no
http://www.UltimateWebsiteOnAlgorithms.com. Like titid_gede said, google is the best starting point for any question. I have a google window open all the time, and if I had to pay 1 cent for every query I did, I would have gone broke long ago. The problem is that you get far too much (irrelevant) information. But you gain experience and have your list of favourite websites in short time.
A lot of solutions to problems can also been found, once you know where to look. Although considered cheeting by many, by studying working code to a problem (not copying it!) you can learn a lot.
3. Books
I bought Skiena's The Algorithm Design Manual because it was advertised on this website earlier. Like Tasheen, I must say it is a disapointment. Apart from many look-how-good-I-am 'warstories', it offers only few usable algorithm descriptions, and then plunges into a lot of technical lingo and references to other sources. Not worth the money IMHO.
I also bought Siena&Revilla's Programming Challenges. I think it's a good starting point. It'll get you through 40-60% of all problems of this website. I find myself leafing through it on a regular basis. It contains some errors (like the one Caesum pointed out somewhere here), and the description on bipartite matching is incomplete, but as a whole, it gives good descriptions of the most fundamental algorithms. It's a shame that the much boasted about accompanying website is such a mess... (Well it was a few months ago; never been there since).
I ordered Cormen from amazon yesterday and have high expectations of it.
4. Perspiration and Inspiration
Start solving a problem by writing input/output routines and fill in as much as you know by reading and re-reading the problem description. Many times the solution will come to you like magic. Don't hesitate to implement algorithms that look too slow on first sight, optimizations and better routines will come to you on the trot.
Keep your WAs and TLEs and look at them weeks, months later. A lot of your blind spots will disapear like snow.
5. Keep solutions and take notes
Make a list of problems that made you succesfully implement a particular algorithm for the first time. Problem 10080 was the first one I solved using bipartite matching, so I use (part of) it's code in solving other bipartite matching problems. Also I have 'standard' problems for Dijkstra, Floyd, Bignums, GCD, LIS, binary trees, etc. etc.
Also document your code and use descriptive identifier names. A full search through the directory with my solutions on the word "polygon" will give me all problems dealing with polygons. Although pp->p
.x and pp->p.y are easyer to type in, you'll never find them back...
Hope it helps
Thank you!
Posted: Wed Feb 18, 2004 11:53 am
by Duy Hung
It seems too hard for me but I will try my best! I don't have chance to use Internet much, so I usually cannot find the site to download or read about these books on Internet. Does someone help me to use Google better to find the information I need ? Thank you very much !
Posted: Thu Feb 26, 2004 11:53 am
by monkeyvu
hi Duy Hung,
I'm Vietnamese too,i have some books that you need.So,would you like to give me your email ?I'll send them for you.
Do you have "Programming Challemges" book( or ebook) ?Can you share it with me?
Thanks so much.