This document discusses trees as a non-linear data structure used to store hierarchical data. It begins with basic terminology for trees such as root node, leaf node, and edge. It then covers different types of trees including binary trees, binary search trees, and expression trees. The document discusses techniques for traversing trees, including preorder, inorder, postorder and levelorder traversal. It also provides examples and algorithms for constructing binary trees from traversal results and using Huffman coding trees.
Related topics: