Data structures and algorithms in java
  How to design  better algorithms? This is one of the basic questions that haunt every programmer. Even  software designers want better algorithms . But how do we  say that one algorithm is better than the other? Is it  not sufficient that the  work is done, and the problem is solved? Not always. Suppose I can  solve the problem in 5 years and somebody else comes with  a solution in 5 minutes, whom will you prefer? It is not  a question of fast computers, but fast algorithms.  Data structures and algorithms in java       The fastness  of an algorithm is measured in terms  of its complexity. An algorithm with logarithmic time  complexity is considered better than an algorithm with polynomial time complexity and so on. We will not dwell in  the forests of complexity  here, may be in another article.       Here the point  is, for designing better algorithms, powerful data structures are needed. They organize  the data in optimal ways and allow access to this data in easy wa...