doubly linked list
A doubly linked list is a data structure that consists of a sequence of nodes, where each node contains three components: a data value, a pointer to the next node, and a pointer to the previous node. This allows traversal of the list in both directions, making it more flexible than a singly linked list, which only allows forward movement.
In a doubly linked list, the first node is called the head, and the last node is called the tail. Each node can be easily inserted or removed from any position in the list, which is useful for applications that require frequent updates, such as in data management or memory allocation.