Operating Systems
Programming Languages
Microsoft Technologies
Computer Science
Formal Methods
MM & Game Dev.
Theory Computing
DS & Algorithms
Software Engineering
Web Programming
Web Technologies

Contact Us | What's New | Missing Link | Feedback

Data Structures and Algorithms

Book Title : Jeff Erickson's Algorithms Course Materials
eBook download format(s) : htm
Author(s) : Jeff Erickson
Section : Data Structures and Algorithms
Book Review:

Book Description

This class is ultimately about learning two skills that are crucial for computer scientists: how to think about algorithms and how to talk about algorithms. Along the way, you'll pick up a bunch of algorithmic facts-mergesort runs in O(n log n) time; the amortized time to search in a splay tree is O(log n); greedy algorithms usually don't produce optimal solutions; the traveling salesman problem is NP-hard-but these aren't the point of the course. You can always look up mere facts in a textbook or on the web, provided you have enough intuition and experience to know what to look for. That's why we let you bring cheat sheets to the exams; we don't want you wasting your study time trying to memorize all the facts you've seen. You'll also practice a lot of algorithm design and analysis skills-finding useful (counter)examples, developing induction proofs, solving recurrences, using big-Oh notation, using probability, giving problems crisp mathematical descriptions, and so on. These skills are very useful, but they aren't really the point of the course either. At this point in your educational career, you should be able to pick up those skills on your own, once you know what you're trying to do.

The first main goal of this course is to help you develop algorithmic intuition. How do various algorithms really work? When you see a problem for the first time, how should you attack it? How do you tell which techniques will work at all, and which ones will work best? How do you judge whether one algorithm is better than another? How do you tell whether you have the best possible solution?

Our second main goal is to help you develop algorithmic language. It's not enough just to understand how to solve a problem; you also have to be able to explain your solution to somebody else. I don't mean just how to turn your algorithms into working code-despite what many students (and inexperienced programmers) think, 'somebody else' is not just a computer. Nobody programs alone. Code is read far more often than it is written, or even compiled. Perhaps more importantly in the short term, explaining something to somebody else is one of the best ways of clarifying your own understanding. As Richard Feynman apocryphally put it, "If you can't explain what you're doing to your grandmother, you don't understand it."

Unfortunately, there is no systematic procedure-no algorithm-to determine which algorithmic techniques are most effective at solving a given problem, or finding good ways to explain, analyze, optimize, or implement a given algorithm. Like many other human activities (music, writing, juggling, acting, martial arts, sports, cooking, programming, teaching, etc.), experts will disagree on the relative values of different techniques. Ultimately, the only way to master these skills is to make them your own, through practice, practice, and more practice. We can't teach you how to do well in this class. All we can do is lay out a few tools, show you how to use them, create opportunities for you to practice, and give you feedback based on our own experience and intuition. The rest is up to you.

add to                 Digg!

You may use anyone of the download options

eBook VersionLook @ Amazon
Front Cover

Missing Link?, Report It and you may wish to find Similar Books from amazon.

Tell a Friend!

Similar Book titles in Data Structures and Algorithms section:
Handbook of Algorithms and Data Structures
Problems on Algorithms, 2nd Edition
Algorithms and Complexity
Introduction to Algorithms
Design and Analysis of Computer Algorithms
Computer Animation: Algorithms and Techniques
Dictionary of Algorithms and Data Structures
Sorting and Searching Algorithms: A Cookbook
Planning Algorithms
Algorithms in the Real World - Lecture Notes
Algorithms and Data Structures in VLSI Design: OBDD - Foundations and Applications
How to Think About Algorithms - Loop Invariants and Recursion
Complexity of Algorithms
Algorithms for Communications Systems and their Applications
Algorithms for Programmers
Average Case Analysis of Algorithms on Sequences
Efficient Algorithms for Sorting and Synchronization
Combinatorial Algorithms

Similar Book titles in Other sections:

Section: Bio-Chemistry
Algorithms for Molecular Biology
CMBI - Bioinformatics courses
WWW Cell Biology Course

Section: CS -> Theory
Information Theory, Inference and Learning Algorithms
Global Optimization Algorithms - Theory and Application
Approximation Algorithms

Section: Photography
A Short Course in Digital Photography

Section: Life & Health
The 100% Brain Course

Section: Mathematics
A Course in Universal Algebra
A First Course in Linear Algebra
A Short Course in Discrete Mathematics
A Problem Course in Mathematical Logic
Algorithms For Computing With Modular Forms
Show all..

Section: Miscellaneous
Applied Cryptography: Protocols, Algorithms, and Source Code in C, 2nd Edition
Digraphs Theory, Algorithms and Applications

Section: Microsoft C Sharp (C#)
Data Structures and Algorithms with Object-Oriented Design Patterns in C#

Section: Windows Development
Windows Server 2003 Weekend Crash Course

Section: Unix OS
Unix System Administration - Survival Course

Section: Physics
Eclipse: The Celestial Phenomenon That Changed the Course of History

Section: C Language
Phil's C Course

Section: COBOL Programming
COBOL Programming Course

Section: C++ Language
Algorithms And Data Structures in C++
Data Structures and Algorithms with Object-Oriented Design Patterns in C++

Section: Other Programming
Prolog Programming: A First Course
Fortran 90 - A Conversion Course

Similar Books from Amazon :

Tell a Friend!

©2008 - Home - Privacy Policy - Program Policy, Terms and Conditions