Big idea 3: Algorithms and programming Flashcards
sequencing
The sequential execution of steps in an algorithm or code in a program
selection
A Boolean condition to determine which of two paths are taken in an algorithm or program.
iteration
The repetition of steps in an algorithm or program for a certain amount of times or until a certain condition is met.
linear search
An algorithm that iterates through each item in a list until it finds the target value.
binary search
An algorithm that searches a sorted list for a value by repeatedly splitting the list in half.
reasonable time
A run time for an algorithm that doesn’t increase faster than a polynomial function of the input size(like 10n, n^2). An unreasonable run time would increase super polynomially (like 2^n, n!).
heuristic
A technique that helps an algorithm find a good solution in a hard problem (like always walking toward the north star when you are stuck in a forest).
undecidable
A problem that is so logically difficult, we can’t ever create an algorithm that would be able to answer “yes or “no” for all inputs (like the halting problem).
library
A collection of procedures that are useful in creating programs.
API
Application Programming Interface, a library of procedures and a description of how to call each procedure.
modularity
The separation of a program into independent modules that are each responsible for one aspect of the program’s functionality.