
Sequential Search
An algorithm for searching an array or list by checking the items one at a time.

Algorithm
A computable set of steps to achieve a desired result. An algorithm is a set of steps for completing some task. For example, one could develop an algorithm for making a peanut butter and jelly sandwich: 1) Walk to the cupboard and get bread; 2) Take out two pieces of bread from the package; 3) Get a knife and peanut butter and jelly; 4) Using the knife, put jelly onto one piece of bread; etc. Algorithms are often implemented in computer science in the form of functions.

Search
To look for a value or item in a data structure. Also, an algorithm or set of setpes that looks for a value or item in a data structure. There are hundreds of algorithms, data structures, and approaches.

Efficiency
The efficiency of an algorithm is the amount of resources used to complete a run of the algorithm. Efficiency is usually measured in terms of abstract computations, such as comparisons or data moves, the memory used, the number of messages passed, the number of disk accesses, etc.

Data Structure
An organization of information, usually in memory, for better algorithmic efficiency, such as linked lists and arrays.

Sort
Sorting is the process of putting items in a predetermined order, such as ordering by increasing or decreasing value. There are hundreds of sorting algorithms. Data already in order is said to be sorted.

Linked List
A chain of items accessible one after another beginning at the head (the beginning of the list), ending at the tail (the end of the list) and linked from one item to the next, usually by pointers. A linked list is a very common data structure in computer science.

NULL
A constant value, most often 0, that signifies an empty tree or linked list, or marks the end of a linked list.

Array
A set of items which are accessible by numeric index; a very common data structure in computer science. See the SparkNote on arrays.

Function
In computer science a function is a subroutine, or a piece of code, that takes arguments (or inputs) and yields an output. A given input always yields the same output. In more formal terms, a function is a mapping from each element in the domain (the input) to each element in the range (the output).

SinglyLinked List
A linked list that can be traversed in only one direction.

DoublyLinked List
A list that can be traversed both forwards and backwards.