Algorithmic techniques Flashcards

1
Q

Brute force

A

Brute force is a simple, exhaustive technique that evaluates every possible outcome to find a solution

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

divide and conquer

A

The divide and conquer technique decomposes complex problems recursively into smaller sub-problems. Each sub-problem is then solved and these partial solutions are recombined to determine the overall solution

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Dynamic programming

A

Dynamic programming is a systematic technique in which a complex problem is decomposed recursively into smaller, overlapping subproblems for solution. Dynamic programming stores the results of the overlapping sub-problems locally using an optimization technique called memoization

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

An evolutionary approach

A

An evolutionary approach develops candidate solutions and then, in a manner similar to biological evolution, performs a series of random alterations or combinations of these solutions and evaluates the new results against a fitness function. The most fit or promising results are selected for additional iterations, to achieve an overall optimal solution

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Graph traversal

A

Graph traversal is a technique for finding solutions to problems that can be represented as graphs. This approach is broad, and includes depth-first search, breadth-first search, tree traversal, and many specific variations that may include local optimizations and excluding search spaces that can be determined to be non-optimum or not possible. These techniques may be used to solve a variety of problems including shortest path and constraint satisfaction problems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

A greedy approach

A

A greedy approach begins by evaluating one possible outcome from the set of possible outcomes, and then searches locally for an improvement on that outcome.
When a local improvement is found, it will repeat the process and again search locally for additional improvements near this local optimum.
A greedy technique is generally simple to implement, and these series of decisions can be used to find local optimums depending on where the search began.
However, greedy techniques may not identify the global optimum across the entire set of possible outcomes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

A heuristic approach

A

A heuristic approach employs a practical method to reach an immediate solution not guaranteed to be optimal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Learning techniques

A

Learning techniques employ statistical methods to perform categorization and analysis without explicit programming. Supervised learning, unsupervised learning, reinforcement learning, and deep learning techniques are included in this category.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Mathematical optimization

A

Mathematical optimization is a technique that can be used to calculate a mathematical optimum by minimizing or maximizing a function.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Modeling

A

Modeling is a general technique for abstracting a real-world problem into a framework or paradigm that assists with solution.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Recursion

A

Recursion is a general technique for designing a algorithm that calls itself with a progressively simpler part of the task down to one or more base cases with defined results.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

window sliding

A

The window sliding is used to reduce the use of nested loop and replace it with a single loop, thereby reducing the time complexity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly