Identification Flashcards

(67 cards)

1
Q

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.

A

Bubble Sort

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

A type of algorithmic paradigm involves breaking down a problem into smaller subproblems, solving each subproblem, and combining the solutions.

A

Divide and Conquer

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

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.

A

Merge Sort

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

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.

A

Binary Search

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

An algorithmic approach involves solving a problem by solving smaller instances of the same problem and combining their solutions.

A

Recursion

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

A data structure operates on a Last In, First Out (LIFO) principle.

A

Stack

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

This algorithm is known for its efficiency in sorting small data sets and is an in-place, comparison- based sorting algorithm.

A

Insertion Sort

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

A sorting algorithm that repeatedly selects the maximum element and puts it at the end of the list in each iteration.

A

Selection Sort

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

It is a step-by-step procedure or a set of rules designed for solving a specific problem or accomplishing a particular task.

A

Algorithm

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

It is a way of organizing and storing data to perform operations efficiently.

A

Data Structure

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

This is a simple search algorithm that sequentially checks each element of the list until it finds the desired element.

A

Linear Search

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

It does not necessarily find the shortest path in a graph. It explores as far as possible along each branch before backtracking.

A

Depth-First Search (DFS)

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

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.

A

Breadth-First Search (BFS)

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

These are algorithms used to systematically visit every vertex and edge in a graph, typically starting from a specified vertex.

A

Graph Traversal Algorithms

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

When evaluating an algorithm’s performance about the size of the input data it processes, which concept are you primarily concerned with?

A

Algorithm Complexity

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

Which concept measures how the running time of an algorithm grows with the size of the input?

A

Time Complexity

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

What term refers to the memory requirements of an algorithm as a function of the input size?

A

Space Complexity

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

Which term describes step-by-step procedures or formulas for solving problems?

A

Algorithms

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

What programming technique involves a function calling itself to solve smaller instances of the same problem?

A

Recursion

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

Which strategy involves breaking a problem into smaller subproblems, solving them independently, and then combining their solutions to solve the original problem?

A

Divide and Conquer

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

Which approach makes locally optimal choices at each step in the hope that the overall solution will be globally optimal?

A

Greedy Algorithm

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

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?

A

Dynamic Programming

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

Which method exhaustively searches through all possible solutions and selects the one that satisfies the problem constraints?

A

Brute Force

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

What approach systematically searches through all possible solutions by making choices and backtracking when a choice leads to a dead end?

A

Backtracking

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
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
26
You're tasked with solving problems related to graphs. Which type of algorithm would you choose for this purpose?
Graph Algorithms
27
Imagine you need to address issues concerning flow in networks, such as identifying maximum flow or minimum cut. Which algorithm category would you explore?
Network Flow Algorithms
28
When describing how a function behaves as its input approaches infinity, which notation would you use?
Asymptotic Notation
29
In determining the maximum amount of resources an algorithm requires for any input of a given size, what complexity concept would you examine?
Worst-Case Complexity/Worse-Case Complexity
30
When discussing the average amount of resources an algorithm necessitates over all possible inputs of a given size, which complexity term would you refer to?
Average-Case Complexity
31
In a system where elements can only be inserted or deleted at one end, what data structure would you employ?
Stack
32
If you need a structure where items are inserted at one end and deleted at the other, what type of list would you utilize?
Queues
33
When representing each element of a data object in a cell or node, what list structure would you use?
Linked List
34
In the context of arranging records in a particular order, what process would you employ?
Sorting
35
Which sorting algorithm compares adjacent elements and swaps them if they're in the wrong order?
Bubble Sort
36
What algorithm repeatedly selects the minimum element from an unsorted region and swaps it with the first element of the unsorted region?
Selection Sort
37
Which algorithm builds a sorted array one element at a time by inserting each element into its correct position within the sorted region?
Insertion Sort
38
Which divide-and-conquer algorithm selects a pivot element, partitions the array into two sub-arrays, and recursively sorts the sub-arrays?
Quick Sort
39
What non-linear data structure organizes data in a hierarchical structure?
Trees
40
Which search algorithm finds the position of a target value within a sorted array or list?
Binary Search
41
What term defines a particular way of organizing and storing data efficiently?
Data Structure
42
What is a collection of elements, each identified by an index or a key?
Arrays
43
What term refers to the process of repeating a set of instructions or steps in a systematic way?
Iteration
44
An algorithm must terminate after a finite number of steps.
Finiteness
45
Each step of the algorithm must be precisely defined.
Definiteness
46
An algorithm should have zero or more inputs.
Input
47
An algorithm should produce one or more outputs.
Output
48
Every step in an algorithm should be doable using basic operations.
Effectiveness
49
These are basic data structures that directly operate upon the machine instructions.
Primitive Data Structures
50
These are high-level data structures that model real-world entities and operations.
Abstract Data Structures
51
A contiguous block of memory elements, each element is identified by an array index.
Arrays
52
Elements are stored in nodes, each node pointing to the next node in the sequence.
Linked Lists
53
Elements are stored in nodes, each node pointing to the next node in the sequence.
Linked Lists
54
A Last In, First Out (LIFO) data structure where elements are inserted and removed from the same end.
Stacks
55
A First In, First Out (FIFO) data structure where elements are inserted at the rear and removed from the front.
Queues
56
It provides an upper bound on the growth rate of a function.
Big O Notation (O)
57
It provides a lower bound on the growth rate of a function.
Omega Notation (Ω)
58
It provides both upper and lower bounds, indicating tight bounds on the growth rate of a function.
Theta Notation (Θ)
59
A data structure that implements an associative array abstract data type, where keys are mapped to values.
Hash Tables
60
A specialized tree-based data structure that satisfies the heap property.
Heaps
61
These are self-balancing tree data structures that maintain sorted data and are commonly used in databases and file systems for efficient insertion, deletion, and searching operations.
B- Trees and B+ Trees
62
This is a data structure used to keep track of a set of elements partitioned into a number of disjoint (non-overlapping) subsets. It supports two main operations: finding which set a particular element belongs to and merging two sets.
Disjoint Set/Union Find
63
Also known as a prefix tree, is a tree-like data structure used to store a dynamic set of strings where the keys are usually strings. It supports efficient prefix-based searching and insertion operations.
Trie
64
This is a tree data structure used for storing intervals or segments of data. It allows querying and updating the segments efficiently, often used in problems involving range queries and updates.
Segment Tree
65
Also called a binary indexed tree, is a data structure that supports efficient prefix sum queries and updates over an array of numbers. It's particularly useful when dealing with cumulative frequency tables.
Fenwick Tree
66
These are data structures used for efficiently storing and querying the suffixes of a string. Suffix arrays are arrays of the starting positions of suffixes sorted lexicographically, while suffix trees are trees that represent all suffixes of a string in a compressed form.
Suffix Array and Suffix Tree
67
Systematically searches for an optimal solution by exploring the entire search space and pruning branches using bounding functions.
Branch and Bound