Khan Academy Computer Science
algorithm
A precise step-by-step plan for a computational procedure that possibly begins with an input value and yields an output value in a finite number of steps. A step-by-step procedure that leads to a definite solution. Ordered steps that solve a mathematical problem.
JavaScript
A scripting programming language developed by Netscape and is most commonly used to add interactive features to webpages.
sequence
A set of things next to each other in a set order; a series.
selection sort
A sorting algorithm that repeatedly selects the next-smallest element of an array and swaps it into place
Java
An object-oriented computer programming language developed by Sun Micro-systems.
asymptotic analysis
Any of several methods for describing and analyzing the behavior of a system at its limits
heuristics
Sets of strategies, rather than strict rules, that act as guidelines for discovery-oriented problem solving. Methods that solve a problem more quickly but is not certain to arrive at an optimal solution. rule of thumb.
pseudocode
Shorthand notation for programming which uses a combination of informal programming structures and verbal descriptions of code.
big omega Ω notation
The asymptotic lower bounds of the growth of an algorithm; f(n) is bounded below by g(n) asymptotically; "I have (at least) 200 dollars in my pocket."
big O notation
The asymptotic upper bounds of the growth of an algorithm; f(n) is bounded above by g(n) asymptotically; "I have less than five hundred dollars in my pocket"
big theta Θ notation
The asymptotically tight bound on the growth of an algorithm; f(n) is bounded both above and below by g(n) asymptotically; "I have between 200 and 500 dollars in my pocket"
What two things make a good algorithm?
a combination of correctness & efficiency
asymptotic notation (Bachmann-Landau notation)
a mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity; is used in Computer Science to classify algorithms according to how their running time or space requirements grow as the input size grows
linear search
an algorithm that searches for a value in a sorted list by checking every one of its elements, one at a time and in sequence, until the desired value is found
binary search
an algorithm that searches for a value in a sorted list by repeatedly dividing the search space in half
array
an orderly arrangement