Data structures allow for the organization and storage of data. There are linear and non-linear data structures. Linear structures include arrays, stacks, queues, and linked lists. Arrays store elements in contiguous memory locations. Stacks and queues follow first-in last-out and first-in first-out rules respectively. Linked lists connect nodes using pointers. Non-linear structures include trees and graphs which emulate hierarchical and network-like connections. Common operations on data structures include traversing, searching, insertion, and deletion.