**
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).

**
Singly-Linked List
** -
A linked list that can be traversed in only one direction.

**
Doubly-Linked List
** -
A list that can be traversed both forwards and backwards.