A linked list is a linear data structure where elements, called nodes, are stored in sequence and each node points to the next, allowing for efficient insertions and deletions. Unlike arrays, linked lists do not require contiguous memory allocation, making them flexible in dynamic memory usage but generally slower for access operations.