Algorithm Sorting
Searching Divide And Conquer
Encryption Algorithm Compression Algorithm
Search Algorithm Sort Algorithm

 

The process of arranging data in a particular order. An unambiguous step by step set of instructions to solve a problem.
Solving a problem by breaking it down into smaller subproblems and solving them independently. The process of finding a particular item in a collection of data.
A set of rules used to reduce the size of data by removing redundant information. A set of rules used to encipher and decipher messages in a secure way.
An algorithm which puts elements in a list or array in a specific order. An algorithm which searches for a specific element in a list or array.

 

Iteration Pattern Recognition
Efficiency Logical Reasoning
Flowchart Process
Terminal Symbol Decision Symbol

 

The ability to identify similarities or commonalities among different problems or situations. The process of repeating a set of instructions until a specific condition is met.
The process of using rational thinking and deduction to arrive at conclusions or make decisions. A measure of how well an algorithm solves a problem, often in terms of time and computational resources required.
A series of actions or steps taken in order to achieve a particular end. A visual representation of an algorithm using shapes and arrows to show the flow of instructions.
A symbol used in a flowchart to indicate a branching point in an algorithm. A flowchart symbol used to indicate the start or end of an algorithm.

 

Process Symbol Connector Symbol
Flowline Input Symbol
Output Symbol Loop Symbol
Flowcharting Tool Psuedocode

 

A symbol used in a flowchart to connect different parts of an algorithm. A symbol used in a flowchart to indicate an action taken in an algorithm.
A symbol used in a flowchart to indicate an input or data entry point in an algorithm. A line used in a flowchart to indicate the direction of flow in an algorithm.
A symbol used in a flowchart to indicate a repetitive action in an algorithm. A symbol used in a flowchart to indicate an output or data display point within an algorithm.
A language used to describe programming concepts using a mix of natural language and programming code. Software used to create and edit flowcharts.

 

Pseudocode Program Code
Syntax Variable
Control Structure Loop
Conditional Statement Big O Notation

 

Instructions written in a programming language that are capable of being executed by a computer. A high-level description of an algorithm that uses a combination of natural language and programming syntax.
A named storage location in memory that can store modifiable data. The set of rules and patterns that govern the structure and format of programming languages.
A control structure that executes instructions until a condition is met or a number of iterations is reached. A programming construct that decides the sequence in which blocks of code are executed.
A way of describing the space or time complexity of an algorithm. A control structure that enables a program to execute blocks of code depending on certain conditions.

 

Time Complexity Worst-Case Time Complexity
Best-Case Time Complexity Average-Case Time Complexity
O(1) O(N)
O(Log N) O(N^2)

 

The maximum amount of time an algorithm takes to run for any input of size n. The amount of time an algorithm takes to run as a function of the input size.
The expected amount of time an algorithm takes to run for inputs of size n, considering all possible inputs. The minimum amount of time an algorithm takes to run for a specific input of size n.
A time or space complexity where the amount of time or memory used increases linearly with the size of the input An operation whose execution time remains unchanged regardless of input size.
A time or space complexity where the amount of time or memory used grows quadratically with the size of the input. A time or space complexity where the amount of time or memory used increases logarithmically with the size of the input.

 

Space Complexity Best Case
Average Case Worst Case

 

The minimum amount of time or space resources required to solve a problem. The amount of memory or storage space required by an algorithm to solve a problem.
The maximum amount of resources (such as time or space) required to solve a problem, considering all possible inputs. The expected amount of time or space resources required to solve a problem.