Advanced Algorithms
Best-first Search Algorithms
- Greedy Search - A* Search
Memoization
An optimization technique used primarily to speed up computer programs by storing the results of expensive function calls and returning the cached result when the same inputs occur again.
Describe what is meant by 'Greedy' Algorithms
These algorithms operate by making the locally optimal choice at each stage with the hope of finding a global optimum• In many problems, a greedy strategy does not in general produce an optimal solution, but nonetheless a greedy heuristic may yield locally optimal solutions that approximate a global optimal solution in a reasonable time.
Heuristics
These are used to speed up a brute-force algorithm by reducing the search space, that is, the set of candidate solutions.
Brute-Force Search
This type of search algorithm is a very general problem-solving technique that consists of systematically enumerating all possible candidates for the solution and checking whether each candidate satisfies the problem's statement. One algorithm in this category is used for finding an item in a table or list — in other words, examine all the elements sequentially — this is referred to as Linear search.