1/17
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Problem
A general description of a task that can (or cannot) be solved with an algorithm.
Algorithm
A finite set of instructions that accomplish a task.
Iteration
A repetitive portion of an algorithm which repeats a specified number of times or until a given condition is met.
Selection
Deciding which steps to do next.
Sequencing
Putting steps in an order.
Efficiency
A measure of how many steps are needed to complete an algorithm.
Linear Search
A search algorithm which checks each element of a list, in order, until the desired value is found or all elements in the list have been checked.
Binary Search
A search algorithm that starts at the middle of a sorted set of numbers and removes half of the data; this process repeats until the desired value is found or all elements have been eliminated.
Reasonable Time
Algorithms with polynomial efficiency or lower (constant, linear, square, cube, etc.) are said to run in a reasonable amount of time.
Unreasonable Time
Algorithms with exponential or factorial efficiencies that run in an unreasonable amount of time.
Heuristic
Provides a 'good enough' solution to a problem when an actual solution is impractical or impossible.
Decision Problem
A problem with a yes/no answer (e.g., is there a path from A to B?).
Optimization Problem
A problem with the goal of finding the 'best' solution among many (e.g., what is the shortest path from A to B?).
Undecidable Problem
A problem for which no algorithm can be constructed that is always capable of providing a correct yes-or-no answer.
Sequential Computing
A model in which programs run in order, one command at a time.
Parallel Computing
A model in which programs are broken into small pieces, some of which are run simultaneously.
Distributed Computing
A model in which programs are run by multiple devices.
Speedup
The time used to complete a task sequentially divided by the time to complete a task in parallel.