Algorithm Is a Computable Set of Steps Essay

Total Length: 1393 words ( 5 double-spaced pages)

Total Sources: 10

Page 1 of 5

Algorithm is a computable set of steps arranged thus in order to achieve a certain end. There are various algorithms used in bioinformatics and not all are necessarily deterministic. Some are in fact known as randomized algorithms that incorporate randomness. Classification of algorithms in Bioinformatics Classification by purpose Each algorithm has a goal. The Quick Sort algorithm for instance sorts data in ascending or descending order, but algorithms in bioinformatics are grouped by their particular purpose. Classification by implementation An algorithm has different fundamental principles: Recursive or iterative This is common for programming that is used in bioinformatics and is iterative or repetitive until it has found its match. It goes in a loop. Usually used for functional programming, it uses repetitive constructs and is best used for problems such as the towers of Hanoi problem which is imbued with recursive implementation and therefore has these iterative equivalents. An example is the following retrieved from Horton (2004): Table 3: Pseudo code for "naive" pattern matching algorithm. character[] pattern, text; integer i, j; for (i=0;iThey do this for each step of the use of the algorithm.

5. Classification by design paradigm

A design paradigm is a domain that exists in research or a class of problems that requires a special kind of algorithm. These are the following:

6. Divide and conquer

The divide and conquer algorithm reiteratively reduces the problem of the algorithm to increasingly smaller steps / to one or more smaller instances of that same problem in order to conquer it and until the problem is small enough that it can be mastered. These situations are usually recursive. The situation of merge sorting is one such instance of divide and conquers. The data is divided into segments and sorting done on each part of the data. The data can then be conquered by merging them. This is when sorting of the entire data is done and conquered in a different way.

The binary search algorithm is another example of the divide and conquer version. This is called the decrease and conquer algorithm, where a smaller identical subproblem is solved and the solution then transported to the larger problem in order to solve that.

7. Dynamic programming

In this case, graphs are used the shortest path to the goal is traced from all adjacent vertices and this tells us the shortest path in the weighted graph.

The optimal solution is often constructed by applying optimal solutions to subproblems. In this case, dynamic programming is beneficial since it avoids recomputing problems and programs that have already been computed

This approach is almost identical to the divide and conquer approach excepting that there sub-problems are independent form one another and form larger problems where in the dynamic programming method, an overlap of sub-problems is characteristic of this method.

Dynamic programming and memoization go together. Simple and direct recursion differs from this algorithmic approach in its caching or memorization of recursive calls. This does not help when sub-problems are involved and in that case you need dynamic programming. Dynamic programming uses memorization or maintains a table of sub-problems and in….....

Need Help Writing Your Essay?