Algorithms

Learn the fundamentals of algorithms, including sorting and searching.

Sample Cards

Algorithm

A step-by-step procedure for solving a problem or performing a task in programming.

Divide and Conquer

An algorithm that divides a problem into smaller subproblems, solves them independently, and comb...

Linear Search

An algorithm that iteratively checks each element until it finds the target value.

Binary Search

An algorithm that repeatedly divides the search interval in half to find a target value.

Insertion Sort

A sorting algorithm that builds a sorted array one element at a time.

Bubble Sort

A simple sorting algorithm that repeatedly steps through the list, compares adjacent elements and...

Merge Sort

A divide and conquer algorithm that was invented by John von Neumann in 1945.

Recursion

The process where a function calls itself directly or indirectly.

Algorithms Flashcards

Looking to expand your skills in Programming? Look no further! These flashcards are designed to help you learn and retain information in a fun and engaging way.

Study With Rememble

Study With Rememble

Rememble is a free flashcard app that helps you learn and retain information in a fun and engaging way. With Rememble, you can create your own flashcards or choose from thousands of pre-made decks in a variety of subjects.

Whether you're studying for a test, learning a new language, or just want to expand your knowledge, Rememble has you covered. Sign up today and start learning!

What's in this deck?

Algorithm

A step-by-step procedure for solving a problem or performing a task in programming.

A step-by-step procedure for solving a problem or performing a task in programming.

Algorithm

Divide and Conquer

An algorithm that divides a problem into smaller subproblems, solves them independently, and combines the results.

An algorithm that divides a problem into smaller subproblems, solves them independently, and combines the results.

Divide and Conquer

Linear Search

An algorithm that iteratively checks each element until it finds the target value.

An algorithm that iteratively checks each element until it finds the target value.

Linear Search

Binary Search

An algorithm that repeatedly divides the search interval in half to find a target value.

An algorithm that repeatedly divides the search interval in half to find a target value.

Binary Search

Insertion Sort

A sorting algorithm that builds a sorted array one element at a time.

A sorting algorithm that builds a sorted array one element at a time.

Insertion Sort

Bubble Sort

A simple sorting algorithm that repeatedly steps through the list, compares adjacent elements and swaps them if they are in the wrong order.

A simple sorting algorithm that repeatedly steps through the list, compares adjacent elements and swaps them if they are in the wrong order.

Bubble Sort

Merge Sort

A divide and conquer algorithm that was invented by John von Neumann in 1945.

A divide and conquer algorithm that was invented by John von Neumann in 1945.

Merge Sort

Recursion

The process where a function calls itself directly or indirectly.

The process where a function calls itself directly or indirectly.

Recursion

Greedy Algorithm

An algorithmic paradigm that follows the problem solving heuristic of making the locally optimal choice at each stage with the hope of finding a global optimum.

An algorithmic paradigm that follows the problem solving heuristic of making the locally optimal choice at each stage with the hope of finding a global optimum.

Greedy Algorithm

Dynamic Programming

A method for solving a complex problem by breaking it down into a collection of simpler subproblems, solving each of those subproblems just once, and storing their solutions.

A method for solving a complex problem by breaking it down into a collection of simpler subproblems, solving each of those subproblems just once, and storing their solutions.

Dynamic Programming

Dijkstra's Algorithm

An algorithm for finding the shortest paths between nodes in a graph, which may represent, for example, road networks.

An algorithm for finding the shortest paths between nodes in a graph, which may represent, for example, road networks.

Dijkstra's Algorithm

Backtracking

An algorithm for finding all (or some) solutions to some computational problems, notably constraint satisfaction problems, that incrementally builds candidates to the solutions, and abandons a candidate as soon as it determines that the candidate cannot possibly be extended to a valid solution.

An algorithm for finding all (or some) solutions to some computational problems, notably constraint satisfaction problems, that incrementally builds candidates to the solutions, and abandons a candidate as soon as it determines that the candidate cannot possibly be extended to a valid solution.

Backtracking

Randomized Algorithm

An algorithm that employs a degree of randomness as part of its logic.

An algorithm that employs a degree of randomness as part of its logic.

Randomized Algorithm

Big O Notation

A mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity.

A mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity.

Big O Notation

Space Complexity

A measure of the amount of memory an algorithm needs.

A measure of the amount of memory an algorithm needs.

Space Complexity

Algorithm Design Patterns

A general reusable solution to a commonly occurring problem in software design.

A general reusable solution to a commonly occurring problem in software design.

Algorithm Design Patterns

Machine Learning Algorithms

A type of artificial intelligence that provides computers with the ability to learn without being explicitly programmed.

A type of artificial intelligence that provides computers with the ability to learn without being explicitly programmed.

Machine Learning Algorithms

Cryptographic Algorithms

Series of calculations used to secure data.

Series of calculations used to secure data.

Cryptographic Algorithms

Algorithm Testing

The process of checking that a computer system meets specified requirements and that it fulfills its intended purpose.

The process of checking that a computer system meets specified requirements and that it fulfills its intended purpose.

Algorithm Testing

Heuristic Algorithms

A practical approach not guaranteed to be optimal or perfect, but sufficient for the immediate goals.

A practical approach not guaranteed to be optimal or perfect, but sufficient for the immediate goals.

Heuristic Algorithms

Iterative Algorithm

An algorithm that is called repeatedly but obtains a result on each pass until the answer is found.

An algorithm that is called repeatedly but obtains a result on each pass until the answer is found.

Iterative Algorithm

Recursive Algorithm

A method where the solution to a problem depends on solutions to smaller instances of the same problem.

A method where the solution to a problem depends on solutions to smaller instances of the same problem.

Recursive Algorithm

Pseudocode

A detailed yet readable description of what a computer program or algorithm must do.

A detailed yet readable description of what a computer program or algorithm must do.

Pseudocode

Real-World Application Algorithms

Are used for processing, calculation, and operations, in various fields from science, engineering, business, and even in our daily lives. Examples include Google's search engine, path-finding in GPS.

Are used for processing, calculation, and operations, in various fields from science, engineering, business, and even in our daily lives. Examples include Google's search engine, path-finding in GPS.

Real-World Application Algorithms

Related Flashcards

Continue your spaced-repetition or comprehensible input learning with these other flashcard decks related to Programming.

Programming Concepts

Understand basic programming concepts applicable to any language.

Rust Syntax

Learn the syntax and structure of the Rust programming language.

Rust Async

Master asynchronous programming in Rust.