How to be good in data structures and analysis?

I want to be good at Data Structures and Analysis esp. in java. I often find myself very weak. What should I do to be good at this? Any good mental exercises?

+6
language-agnostic algorithm data-structures analysis
source share
4 answers

An excellent book on complexity analysis, including the properties of popular and not very popular data structures, Introduction to Algorithms, second edition , also called CLRS. It is widely regarded as a bible of algorithms and their analysis.

For something more Java-oriented, my Java beginner course used this book and I found it to be adequate.

For mental exercises you can familiarize yourself with the practice. Try Project Euler , TopCoder or google acm practice issue . Perhaps this is what will give you the most tangible benefits in everyday encoding. Most of them will make and evaluate Java decisions (and C / C ++), so you are all set up in the language.

+13
source share

To analyze data structures, you need to study discrete mathematics (combinatorics) and statistics.

+3
source share

I would usually recommend CLRS , but since you specifically called Java in your question, I recommend Objects, abstraction, data structures, and design: using Java version 5.0 . It has really fantastic explanations of data structures and algorithms that make them work.

+2
source share

Algorithms in Java, R. Sedgewick is a very good book on algorithms with java implementation.

+1
source share

All Articles