click below
click below
Normal Size Small Size show me how
APCSP CodeAI Unit 10
AP Computer Science Principles Code.org Unit 10 Vocabulary All Lessons
| Term | Definition |
|---|---|
| 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 an order |
| selection | deciding which steps to do next |
| iteration | doing some steps over and over |
| 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 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 |