Concept: Mỗi node trỏ tới cả next và prev.

Example:

class Node:
    def __init__(self, val):
        self.val = val
        self.next = None
        self.prev = None

Use cases: Browser history, LRU cache.

Operation: insert/delete giữa 2 node dễ hơn singly list.