Identification Flashcards
An algorithm known for its sorting method that repeatedly steps through the list, compares adjacent elements, and swaps them if they are in the wrong order.
Bubble Sort
A type of algorithmic paradigm involves breaking down a problem into smaller subproblems, solving each subproblem, and combining the solutions.
Divide and Conquer
A sorting algorithm has an average and worst-case time complexity of O(n log n) and is based on the divide-and-conquer strategy.
Merge Sort
A searching algorithm works by repeatedly dividing the search range in half; requires the array to be sorted in order to efficiently search for an element by repeatedly dividing the search interval in half.
Binary Search
An algorithmic approach involves solving a problem by solving smaller instances of the same problem and combining their solutions.
Recursion
A data structure operates on a Last In, First Out (LIFO) principle.
Stack
This algorithm is known for its efficiency in sorting small data sets and is an in-place, comparison- based sorting algorithm.
Insertion Sort
A sorting algorithm that repeatedly selects the maximum element and puts it at the end of the list in each iteration.
Selection Sort
It is a step-by-step procedure or a set of rules designed for solving a specific problem or accomplishing a particular task.
Algorithm
It is a way of organizing and storing data to perform operations efficiently.
Data Structure
This is a simple search algorithm that sequentially checks each element of the list until it finds the desired element.
Linear Search
It does not necessarily find the shortest path in a graph. It explores as far as possible along each branch before backtracking.
Depth-First Search (DFS)
It uses a queue data structure for traversal, not a stack. This ensures that nodes are visited in the order of their distance from the starting node.
Breadth-First Search (BFS)
These are algorithms used to systematically visit every vertex and edge in a graph, typically starting from a specified vertex.
Graph Traversal Algorithms
When evaluating an algorithm’s performance about the size of the input data it processes, which concept are you primarily concerned with?
Algorithm Complexity
Which concept measures how the running time of an algorithm grows with the size of the input?
Time Complexity
What term refers to the memory requirements of an algorithm as a function of the input size?
Space Complexity
Which term describes step-by-step procedures or formulas for solving problems?
Algorithms
What programming technique involves a function calling itself to solve smaller instances of the same problem?
Recursion
Which strategy involves breaking a problem into smaller subproblems, solving them independently, and then combining their solutions to solve the original problem?
Divide and Conquer
Which approach makes locally optimal choices at each step in the hope that the overall solution will be globally optimal?
Greedy Algorithm
What technique breaks a problem into overlapping subproblems, solves each subproblem only once, and stores the solutions to subproblems in a table to avoid redundant computations?
Dynamic Programming
Which method exhaustively searches through all possible solutions and selects the one that satisfies the problem constraints?
Brute Force
What approach systematically searches through all possible solutions by making choices and backtracking when a choice leads to a dead end?
Backtracking
In a scenario where you want to implement an algorithm that offers a degree of unpredictability while ensuring good performance, which option would you most likely consider?
Randomized Algorithm
You’re tasked with solving problems related to graphs. Which type of algorithm would you choose for this purpose?
Graph Algorithms