A node is an abstract basic unit used to build linked data structures such as linked lists. Each node contains some data and possibly links to other nodes. Links between nodes are mostly implemented by pointers or references.
A node can be thought of as a logical placeholder for some data. It is a memory block which contains some data unit and perhaps references to other nodes, which in turn contain data and perhaps references to yet more nodes. By forming chains of interlinked nodes, very large and complex data structures can be formed.
A linked list, an important application of nodes, consists of a sequence of nodes, each containing arbitrary data fields and one or two references ("links") pointing to the next and/or previous nodes. The principal benefit of a linked list over a conventional array is that the order of the linked items may be different from the order that the data items are stored in memory or on disk, allowing the list of items to be traversed in a different order.
outline of a node-
class Node
{
data // The data being stored in the node
previous // A reference to the previous node, null if first node
next // A reference to the next node, null if last node
}