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. |