# Design and Analysis of Algorithms

An algorithm is a set of steps of operations to solve a problem performing calculation, data processing, and automated reasoning tasks. An algorithm is an efficient method that can be expressed within finite amount of time and space. An algorithm is the best way to represent the solution of a particular problem in a very simple and efficient way. If we have an algorithm for a specific problem, then we can implement it in any programming language, meaning that the algorithm is independent from any programming languages.

### The correct order of the efficiency of the following sorting algorithms according to their overall running time comparison is

Given f(n) = log2n, g(n) = √n which function is asymptotically faster

### Assuming that the hash function for a table works well, and the size of the hash table is reasonably large compared to the number of items in the table, the expected (average) time needed to find an item in a hash table containing n items is

T (n) = 4T (n/2) + n then T (n) =
Which of the following properties are necessary for an Algorithm?
which of the following technique is not using for solve a 0-1knapsack problem
n! =
T (n) = 8T (n/2) + n2, T (1) = 1 then T (n) =
T (n) = 3T (n/4) + n then T (n) =
T (n) = 2T (n/2) + cn then T (n) =
T (n) = 9T (n/3) + n then T (n) =
Which of the following case does not exist in complexity theory?
The Worst case occur in linear search algorithm when
The complexity of Fibonacci series is
The worst case occur in quick sort when
An algorithm in which we divide the problem into subproblem and then we combine the subsolutions to form solution to the original problem is known as: