A linked list is a series of nodes where each node contains data and a pointer to the next node. Each node is a separate allocation of memory containing the data and a link/pointer to the next node. Common operations on linked lists include adding nodes, removing nodes, counting nodes, traversing the list, and sorting the data. Linked lists allow for efficient insertion/removal of nodes compared to arrays but are slower to access individual elements.