Learn the fundamentals of algorithms, including sorting and searching.
A step-by-step procedure for solving a problem or performing a task in programming.
An algorithm that divides a problem into smaller subproblems, solves them independently, and comb...
An algorithm that iteratively checks each element until it finds the target value.
An algorithm that repeatedly divides the search interval in half to find a target value.
A sorting algorithm that builds a sorted array one element at a time.
A simple sorting algorithm that repeatedly steps through the list, compares adjacent elements and...
A divide and conquer algorithm that was invented by John von Neumann in 1945.
The process where a function calls itself directly or indirectly.
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.
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!
A step-by-step procedure for solving a problem or performing a task in programming.
Algorithm
An algorithm that divides a problem into smaller subproblems, solves them independently, and combines the results.
Divide and Conquer
An algorithm that iteratively checks each element until it finds the target value.
Linear Search
An algorithm that repeatedly divides the search interval in half to find a target value.
Binary Search
A sorting algorithm that builds a sorted array one element at a time.
Insertion Sort
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
A divide and conquer algorithm that was invented by John von Neumann in 1945.
Merge Sort
The process where a function calls itself directly or indirectly.
Recursion
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
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
An algorithm for finding the shortest paths between nodes in a graph, which may represent, for example, road networks.
Dijkstra's Algorithm
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
An algorithm that employs a degree of randomness as part of its logic.
Randomized Algorithm
A mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity.
Big O Notation
A measure of the amount of memory an algorithm needs.
Space Complexity
A general reusable solution to a commonly occurring problem in software design.
Algorithm Design Patterns
A type of artificial intelligence that provides computers with the ability to learn without being explicitly programmed.
Machine Learning Algorithms
Series of calculations used to secure data.
Cryptographic Algorithms
The process of checking that a computer system meets specified requirements and that it fulfills its intended purpose.
Algorithm Testing
A practical approach not guaranteed to be optimal or perfect, but sufficient for the immediate goals.
Heuristic Algorithms
An algorithm that is called repeatedly but obtains a result on each pass until the answer is found.
Iterative Algorithm
A method where the solution to a problem depends on solutions to smaller instances of the same problem.
Recursive Algorithm
A detailed yet readable description of what a computer program or algorithm must do.
Pseudocode
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
Continue your spaced-repetition or comprehensible input learning with these other flashcard decks related to Programming.
Understand basic programming concepts applicable to any language.
Learn the syntax and structure of the Rust programming language.
Master asynchronous programming in Rust.