1/17
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No study sessions yet.
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.
Sequencing
putting steps in order; the application of each step of an algorithm in the order in which the code statements are given
Selection
deciding which steps to do next; determines which parts of an algorithm are executed based on a condition being true or false. The use of conditional statements or “if-statements” is a form of selection.
Iteration
doing some steps over and over; a repeating portion of an algorithm. repeats a specified number of times or until a given condition is met.
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 a 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 are examples of algorithms that run in this 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 computational model in which operations are performed in order one at a time
Parallel Computing
a computational model where the program is broken into multiple smaller sequential computing operations, some of which are performed simultaneously
Distributed Computing
a computational model in which multiple devices are used to run a program.
Speedup
the time used to complete a task sequentially divided by the time to complete a task in parallel, measures speed and efficiency