Trees are hierarchical data structures that consist of nodes connected by edges. They are used to store and access information efficiently. Binary trees are a type of tree where each node has at most two children. Graphs model relationships between objects using nodes connected by edges. Hash tables store key-value pairs and allow for very fast lookup, insertion, and deletion of data using hash functions, but collisions can decrease efficiency.