The Algorithms, methods for solving problems, Data structures- for efficiently organizing data in a computer memory. Algorithms and Data structures go hand in hand for efficient implementation  of application. Good Algorithm is better than a super computer.

Essentials of Algorithmic Analysis

Algorithmic Analysis

  1. Essentials of Algorithmic Design with proper Datastructures


  1. Linear Search Variations in Java
  2. Binary Search Iterative Algorithm implementation in Java
  3. Binary Search Recursive Algorithm implementation in Java


  1. Reverse of a String using recursion in Java
  2. Euclid Algorithm for finding GCD of two numbers
  3. Factorial of a number using recursion
  4. Power of a given number using recursion
  5. Fibonacci series using recursion in Java
  6. Linear Sum using recursion in Java
  7. Reversing an array using recursion in Java
  8. Towers of Hanoi puzzle in Java

Finding Duplicates

  1. Finding duplicates in an array -BruteForce O(n^2)
  2. Finding duplicates in a sorted array -O(nlogn)
  3. Finding duplicates in an array using Hashtables -O(n)
  4. Finding duplicates in an array using negation, single scan -O(n)


  1. Introduction to Algorithms – Thomas H. Cormen