A data structure consisting of nodes or elements connected by pointers. A singly linked list has one pointer in each node, pointing to the next node in the list; a doubly linked list has two pointers in each node, pointing to the next and previous nodes. In a circular list, the first and last nodes of the list are linked together.