Algorithmic Design and Data Structure Techniques
Algorithmic Design and Data Structure Techniques
An algorithm is a way to solve a problem as efficiently and simplistically as possible.
Algorithms can be classified as follows:
- Design Method
- Implementation Method
Classification by Design Method: There are primarily three main categories into which an algorithm can be named in this type of classification. They are:
- Greedy Method
- Divide and Conquer
- Dynamic Programming
- Linear Programming
- Reduction(Transform and Conquer)
Classification by Implementation Method: There are primarily three main categories into which an algorithm can be named in this type of classification. They are:
- Recursion or Iteration
- Exact or Approximate
- Serial or Parallel or Distributed Algorithms
The following are the common data structures:
- List: Single linked list, double linked list
- Queue: FIFO queue, priority queue
- Stack: LIFO queue
- Tree
- Array
Different algorithms can be used to solve different kinds of problems. As a newbie you will likely gravitate towards a specific method. And most of us with utilize and perfect a specific methodology that makes the most sense to us. After all there are many ways to solve the same problem. Personally I like the idea of Dynamic Programming and Arrays. They seem logical and appeal to me as a newbie. They are also the easiest for me to understand and use.
The key is to realize that every problem can be solved, we just have to put our mind to it. Coding is the future.
Comments
Post a Comment