This document discusses nonlinear data structures like trees and graphs. It defines trees and graphs, and notes that all trees are graphs but not all graphs are trees. It then describes different types of trees like binary trees, binary search trees, and n-ary trees. It also covers graph concepts like directed and undirected graphs. The document discusses traversing trees using preorder, inorder and postorder traversal and covers graph searching algorithms like breadth-first search and depth-first search.