
-----------------------------------
facultyofmusic
Sun May 23, 2010 4:24 pm

Useful books
-----------------------------------
Anyone have suggestions on some good books that people can read that extends their knowledge on things such as algorithms, recursion, efficient coding, etc?  Book that have questions like ones on DWITE and teaches algorithms on how to solve each kind of problems...

-----------------------------------
ccontest
Mon May 24, 2010 1:28 pm

Re: Useful books
-----------------------------------
A book I would suggest is Programming Challenges by Steven S.Skiena and Miguel A.Revilla. 

It is specifically targeted toward people who want to excel in programming contests. 

Also, each chapter covers specific category (i.e. graph theory, number theory and more) and gives various algorithms that falls 

into each category.

There are about 5-10 problems per chapter to test your knowledge, and you can check your solution on 
programming-challenges.com

It pretty much covers everything you need for high school computing contests, so you don't really need to buy other books.

All the sample codes are written in C language and they assume that you have considerable knowledge in C language. (STL is 

not used in the code)


Note: Dwite contest problems (as it is a montly contest) are very limited. You can basically categorize the problems in 3 

categories. 

1. Easy/annoying ad-hoc.
2. Standard DP.
3. Standard Graph Theory/Search. 

Also, since the constraints are so low, you pretty much don't have to do any optimization to earn full score.

If you read over the book and understand some of the algos, dwite will be a piece of cake. (it would be just a matter of who 

solves faster)

-----------------------------------
jbking
Mon May 24, 2010 5:10 pm

Re: Useful books
-----------------------------------
[url=http://www.amazon.ca/Concrete-Mathematics-Foundation-Computer-Science/dp/0201558025]Concrete Mathematics by Ronald L. Graham, Donald E. Knuth, Oren Patashnik would likely be a useful book but I would caution that it may be a bit advanced about some topics.

[url=http://www.amazon.com/exec/obidos/ASIN/0262032937/]Introduction to Algorithms by  Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein would be another suggestion though this was my textbook for my 4th year Algorithm Design and Analysis course so again it may be a bit too advanced in some areas.

-----------------------------------
Tony
Mon May 24, 2010 9:07 pm

RE:Useful books
-----------------------------------
Introduction to Algorithms is suggested for UW's 341 Algorithms course. I'm told that it's a good book, but could be rather technical.

Picking up some Scheme is excellent for recursion.
