This document provides an introduction to trees as a non-linear data structure. It discusses key terms like root, parent, child, leaf nodes. It also covers different types of trees like binary trees and binary search trees. Tree traversal algorithms like preorder, inorder and postorder are explained along with pseudocode. Finally, it briefly discusses applications of trees and the Huffman algorithm for data compression.