Understanding Introduction to Algorithms, Third Edition [closed] - algorithm

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I've been trying to read and understand the contents of this book: http://www.amazon.com/Introduction-Algorithms-Thomas-H-Cormen/dp/0262033844
But I'm finding the contents to be challenging purely because I don't understand the mathematical or pseudo code notation. Are there any resources or books I should read / study in order to help me understand the content? I think I'm looking for the missing mathematical link in my life. I need something to bridge the gap between school and college level.
Thanks
Chris

Maybe go for a book where the examples are given in a specific language rather than pseudo-code. e.g. Algorithms in C++ by Sedgewick is a grand book if you know C++. Many of the older books tend to use Pascal like pseudo code, where Pascal isn't as common as it once was.
Being able run the code under a debugger, single stepped watching variables change, is also a great aid to understanding how the algorithm works.

Be sure to read the first sections and the appendix at the end of the book, which has some mathematical background explained.
A good, not easy, but suitable for high school student, introduction to mathematics used in computer science is Concrete Mathematics, by Knuth, Graham & Patashnik.

Related

Tutorial on Graph Theory [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
Can anyone suggest me good online tutorials on Graph Theory ie BFS,DFS and other related Graph algos?
My recommendations:
Introductory - JMT Patrick:
http://www.youtube.com/watch?v=HmQR8Xy9DeM
Moderately difficult lectures - ADUni and Berkeley:
http://aduni.org/courses/algorithms/index.php?view=cw
http://www.cs.berkeley.edu/~blum/174notes.html
Advanced stuff - MIT:
http://ocw.mit.edu/courses/mathematics/18-315-combinatorial-theory-introduction-to-graph-theory-extremal-and-enumerative-combinatorics-spring-2005/
As a bonus, great presentation from Neo CEO:
http://www.youtube.com/watch?v=UodTzseLh04&feature=related
I would strongly recommend to study from topcoder
http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=graphsDataStrucs1
has both theory and implementation
If you like coding in python, you may check the book:
Algorithmic Graph Theory
The book is GNU-FDL licensed, which means you can read and download all the content for free. And all the source code in the book are provided for Sage. Sage is a open source alternative of Matlab. As Sage use python as it's language to write scripts, all source code in Sage are essentially python code with additional modules (from sage).
ps: This Algorithmic Graph Theory is totally a different thing from #Elias's Algorithmic Graph Theory.
Use Algorithm Design by Tardos and Kleinberg for graph algorithms.
if you want mathematical graph theory you can read Graph Theory by Rienhard Diestel.
Look at Algorithmic Graph Theory

What is a good website to learn prolog? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I need to do a project for class in Prolog but they gave us no guidance at all in the language it self. I was reading http://kti.mff.cuni.cz/~bartak/prolog/contents.html but I am not understanding anything of what I am reading.
Any better sources out there you can share?
Bratko's "Prolog Programming for AI" is excellent, clear, lively, accessible. Sterling and Shapiro's "The Art of Prolog" is very good too, very thorough with the basic/foundational stuff.
Bratko was the one were it "clicked" for me. I took this slogan from him (don't remember if he wrote it or if I distilled it from his book somehow) - in Prolog, to understand the question is to have your answer. Writing down the question properly gives you a runnable program, more or less. I remember reading a page on AVL trees where he wrote down the definition, and I turned the page expecting to see the "solution". But it was already about something else. Turning the page back I realized, that the statement of what AVL trees were, was already the program itself.
Many moons ago, I liked the book Programming in Prolog by William F. Clocksin & Christopher S. Mellish. It also helps to work through exercises and see how the language works. You can work through some problems from this site Werner Hett's P-99: Ninety-Nine Prolog Problems and here SWI Prolog is a good implementation to use.
I like Adventures in Prolog, but learning a logic language on your own can be very hard. You really can learn much faster and more correctly with a mentor or taking a college course.

is SICP still recommended? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have some experience with python, I asked for a new language, and said that i am having a hard time implementing what I have learned. they suggested I learn SICP. Saying it uses a great language and teaches great programming fundamentals.
But I notice it was published in 1984. Do you guys recommend it, or have I been trolled? :p
Thanks.
Yes, SICP is still a great book! The second edition, which is available online, as of 1996. Although, if you just want to learn Scheme instead of fundamental computer science, you might be better off with Teach Yourself Scheme in Fixnum Days.
I strongly encourage you to check out the book How to Design Programs. It focuses on the fundamentals of programming, not on the specific language, but it also uses Scheme as its language. It's also available free online.
You can also check out the current release of the second edition, which is in preparation (or the less-stable but more up-to-date current draft).
Firstly, you're loooking at the first edition. The second edition is from 1996.
You should VERY MUCH tackle the book. I've gone through about half and my mind is blown. I can't begin to explain how amazing it is. Not only will you develop an appreciation for elegance in programming, but you'll see the line blurred between coding and computer science.
Don't approach this book like a programming book. Approach it as if you want to learn the fundamentals of computation and computer science using programming as a means of expression.
SICP is one of the best books I've read for learning how to write programs well. I never used scheme outside of the work I did in that book, but it's well worth your time.

Analysis of algorithm complexity on linked lists [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Please suggest me some good materials or books or links that provede the methods to find the complexity of algorithms that use linked list for their implementation. My question may sound silly to some of you but please reply.Please help
Introduction to Algorithms is the canonical textbook.
It is possible to find a complete PDF of this book online. I'm not going to provide a link, though, because I'm not sure if these copies are legal.
If all you're after is a quick reference, then Wikipedia is the best place to start. For instance, see the table at http://en.wikipedia.org/wiki/Linked_list#Tradeoffs.
Gautam I have a feeling that you are trying to skip the understanding of 'complexity analysis' portion and jump to linked-list-complexity-analysis.
Just so you know, if you want to understand it truly, then you have to understand two parts
1. How to compute complexity of an algorithm
2. The flow of algorithm in question.
'linked-list-complexity-analysis ' is not something that you can understand without understanding {1}
That said, if at all you want ready answer (trust me that wouldnt help you in interviews), you can refer to this book "Data structures and algorithm and applications in C++" (http://www.mhhe.com/engcs/compsci/sahni/)
Highly recommended for beginner.
Immensely boring, and I doubt you will read it again. :P
You will find answers to your specific questions there.
After you are done with that book , I would suggest go with DataStructures using C/C++ by Langsam/tennenbaum.

What's the fastest way to brush up on algorithms for a technical interview (on Monday)? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I have a technical interview on Monday and they were kind enough to give me a heads-up to brush up on my basic algorithms. It's been years since I looked at that kind of stuff and I'm pretty weak on it to begin with so I generally have a bad feeling about this. What's the best way to review the basics and get some practice in before Monday?
Starting Project Euler might help you, also try picking up Algorithms in a Nutshell and working through those examples. Should be do-able in a weekend.
TopCoder Algorithm Tutorials
Get the Algorithm Design Manual and look at the reference section. It has a nice "Problem -> Algorithm" cheat sheet.
Also take a look at questions on StackOverflow that are tagged Algorithm.
They might actually turn up in the interview ;)
Best of Luck!
This SO Question would be helpful. Also, mostly you should know about
* Sorting
* Searching
* Inserting and removing from various data structures
As this are the main algorithms which are normally asked in the interviews.
*Note: This is from my personal experience and it may differ from person to person.
http://en.wikipedia.org/wiki/List_of_algorithms
Especially the Search, Item Search and Sorting sections.

Resources