1.2 Algorithm Design Priciples/Approches Flashcards
What are some algorithm design principles/approaches?
- Brute Force
- Divide and Conquer
- Greedy
- Branch and Bound Algorithms
- Randomized algorithm
What is a brute force algorithm?
It is an approach to algorithms where every possible solution for a problem is explored, and the best one is chosen to solve the problem.
What is a Divide and conquer algorithm?
It is an approach to algorithms where a problem is divided into smaller problems each smaller problem is solved and their solutions are combined together with the aim of solving the initial problem
What is a greedy algorithm?
This is an approach to algorithms where the optimal choice is made at each step to come out with the best possible solution
What is a branch and bound algorithm?
This approach to algorithms divides all possible solutions to a problem into subsets and each subset is analyzed to find the best possible solution to the problem.
What is a randomized algorithm?
This is an approach to algorithms where random bits are added to the input to produce randomized out comes.