RUNTIME RUSH: Algorithms Practice and Worksheet

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/45

flashcard set

Earn XP

Description and Tags

This set of flashcards covers vocabulary and key concepts from the CS0007 Algorithm modules including Introduction, Analysis, Brute Force, Divide and Conquer, Decrease and Conquer, Transform and Conquer, Greedy Algorithms, and Dynamic Programming.

Last updated 9:08 PM on 7/19/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

46 Terms

1
New cards

Algorithm

A sequence of unambiguous instructions for solving a problem.

2
New cards

Finiteness

The property that an algorithm must terminate after a finite number of steps.

3
New cards

Implementation of an algorithm

The step that involves translating each step of an algorithm into code.

4
New cards

Pseudocode

A high-level description of an algorithm without syntax restrictions.

5
New cards

Program testing

The primary purpose is to find errors in the program.

6
New cards

Time complexity

The relationship between input size and the number of steps required.

7
New cards

Sieve of Eratosthenes

An algorithm used for generating a list of prime numbers.

8
New cards

Euclid’s algorithm

An algorithm used to find the greatest common divisor (GCD) of two numbers.

9
New cards

Stack

A data structure that follows the LIFO (Last-In, First-Out) principle.

10
New cards

Graph

In computer science, a collection of points called vertices connected by edges.

11
New cards

Tree

A connected acyclic graph.

12
New cards

Maximum edges in an undirected graph

n(n−1)2\frac{n(n-1)}{2} where nn is the number of vertices.

13
New cards

Height of a tree

The length of the longest simple path from the root to a leaf.

14
New cards

Recursion

A process where a function calls itself directly or indirectly.

15
New cards

Base case

A condition in a recursive function defined primarily to avoid infinite loops.

16
New cards

Tail recursion

Occurs when the recursive call is the last operation performed in the function.

17
New cards

Big Oh (O) notation

Asymptotic notation that represents the worst-case scenario of an algorithm's running time.

18
New cards

Space complexity

The amount of memory required by an algorithm to run.

19
New cards

Binary search time complexity

O(log⁥n)O(\log n) in a sorted array of size NN.

20
New cards

Indirect recursion

Occurs when a function calls another function that later calls the original function.

21
New cards

Big Omega (\Omega) notation

Represents the lower bound of an algorithm's running time.

22
New cards

Brute-force approach

A straightforward approach based directly on the problem's statement and definitions.

23
New cards

Traveling Salesman Problem

A problem involving finding the shortest tour that passes through all cities exactly once.

24
New cards

Hamiltonian circuit

A path that visits all cities exactly once and returns to the starting city.

25
New cards

Nearest Neighbor Algorithm

An algorithm commonly used as a heuristic for solving the Traveling Salesman Problem.

26
New cards

Exhaustive search efficiency (Knapsack)

Θ(2n)\Theta(2^n) is the efficiency for the exhaustive search approach to the Knapsack Problem.

27
New cards

Divide and Conquer

An algorithm design idea involving dividing a problem into smaller sub-problems, solving them independently, and combining their solutions.

28
New cards

Merge Sort

A sorting algorithm that uses the Divide and Conquer approach with a worst-case time complexity of O(nlog⁥n)O(n \log n). child subtrees of any node differ by at most one.

29
New cards

Pivot

In Quick Sort, a value used to partition the array into two parts: one with smaller values and one with larger values.

30
New cards

Strassen’s Matrix Multiplication

An algorithm for matrix multiplication that reduces recursive calls and has a time complexity of O(n2.8074)O(n^{2.8074}).

31
New cards

Decrease and Conquer

An algorithm strategy that exploits the relationship between a problem and its smaller instance.

32
New cards

Breadth First Search (BFS)

A traversal method that explores all neighbors at the present depth before moving to the next level, often using a queue.

33
New cards

Depth First Search (DFS)

A graph traversal algorithm that uses a stack explicitly or implicitly and has a time complexity of O(V+E)O(V + E). child subtrees of any node differ by at most one.

34
New cards

Transform and Conquer

An algorithm strategy focused on transforming a problem into a simpler or more convenient form.

35
New cards

AVL tree

A balanced binary search tree where the heights of the two child subtrees of any node differ by at most one.

36
New cards

Balance factor (AVL)

Height(left-subtree)−Height(right-subtree)Height(\text{left-subtree}) - Height(\text{right-subtree}).

37
New cards

Gaussian elimination

A technique for solving systems of linear equations by transforming a matrix into a triangular form using elementary row operations.

38
New cards

Greedy algorithm

An algorithm that makes the locally optimal choice at each stage.

39
New cards

Minimum Spanning Tree (MST)

A tree that connects all vertices with the minimum total edge weight.

40
New cards

Dijkstra's Algorithm

A greedy algorithm invented by Edsger W. Dijkstra to find the shortest path from a single source node to all other nodes in a graph.

41
New cards

Prim's Algorithm

A greedy algorithm that builds an MST by adding the lowest weight edge connecting a vertex in the tree to a vertex outside; complexity is O(V2)O(V^2) with an adjacency matrix.

42
New cards

Kruskal's Algorithm

An MST algorithm that builds the tree one edge at a time by processing edges in ascending order of weight, with a complexity of O(Elog⁥E)O(E \log E). child subtrees of any node differ by at most one.

43
New cards

Dynamic Programming

A method for solving problems by breaking them into overlapping sub-problems and storing their results to avoid repeated calculations.

44
New cards

Memoization

Storing the results of expensive function calls and reusing them when needed in Dynamic Programming.

45
New cards

Floyd-Warshall algorithm

An algorithm used for finding the shortest paths between all pairs of vertices in a graph with a complexity of O(n3)O(n^3). child subtrees of any node differ by at most one.

46
New cards

Tower of Hanoi minimum moves

The minimum number of moves required to solve the puzzle with nn disks is 2n−12^n - 1.