Abstract Data Type

A description of a operations on a data type that could have multiple possible implemations

Ancestors

in a tree, the union of a node's parent and the parent's ancestors.

Array

a contiguous block of memory containing elements of a single data type, accessed by index.

ASCII

American Standard Code for Information Interchange. A character code that maps 8-digit binary integers to characters.

Association List

A list of pairs, each containing a key and a value associated with the key

Backtrack

in a tree, to move back from the current node being examined to the parent node.

Base Case

a simple case that can be solved easily, without recursion.

Big-O

an abstracted function that describes the time needed or space required for an algorithm, as a function of problem size.

Binary Search Tree

a tree set up such that each node has contents, and all of it's left descendants are less than the contents, and all of it's right descendants are greater than the contents.

Binary Tree

a tree in which each node has at most two children.

Boxed Number

a number that is defined as an object, so that it has a runtime type and methods that can be used.

Child

in a tree, a node that is pointed to by a parent node.

Circularly Linked List

a list in which the last element points back to the first.

Circular Queue

a queue implemented in an array, where the first element in the list logically follows the last.

Class

in object oriented programming, described as a similar set of objects.

Cons

1.In Lisp, a function that constructs a pair of pointers, a basic list structure.

2. A cons data structure.

3. To make a cons data structure.

2. A cons data structure.

3. To make a cons data structure.

Constructive

describes a function that creates a new data structure without modifying it's elements.

Depth

in a tree, the number of links between the root and it's leaves.

Depth-First Search

a search in which a node's children are considered(recursively) before it's siblings.

Dereference

to convert a pointers address to the data it's pointed to.

Descendants

the nodes under a given tree.

Design Pattern

a pattern that describes a set of similar programs.

Destructive

describes a function that modifies it's arguments.

DFS

Depth-First Search

Divide and Conquer

a problem-solving strategy in which a problem is broken down into subproblems, until simple subproblems are reached.

Doubly Linked List

a linked list in which elements have both forward and backward points.

Fair

Describes a process in which every customer will eventually be served.

FIFO

first-in, first-out: describes the ordering of a queue.

Filter

a process that removes unwanted elements from a collection.

First-Child/Next-Sibling

a way of implementing a tree that uses to pointers per node, but can represent an arbitrary number of children of a node.

Garbage

1. Data that is meaningless, useless, or random. Storage that is no longer being pointed to, and therefore cannot be accessed.

Garbage Collection

the process of collection garbage for recycling.

Append

concatenates two lists at top level, creating a single list that contains the elements of the two input lists.