• Decision Making

    • Next Move in games
    • Computer chess games build a huge tree (training) which they prune at runtime using heuristics to reach an optimal move.
  • Networking

    • Router algorithms -Network Routing, where the next path/route of the packet is determined
    • Social networking is the current buzzword in CS research. It goes without saying that connections/relations are very naturally modeled using graphs. Often, trees are used to represent/identify more interesting phenomena.
  • Representation

    • Chemical formulas representation
    • XML/Markup parsers use trees
    • Producers/consumers often use a balanced tree implementation to store a document in memory.
  • Manipulate Hierarchical Data

    • Make information easy to search
    • Manipulate sorted lists of data.
  • Workflow

    • As a workflow for compositing digital images for visual effects.
  • Organizing Things

    • Folders/ files in the Operating system
    • HTML Document Object Model (DOM)
    • Company Organisation Structures
    • PDF is a tree-based format. It has a root node followed by a catalog node followed by a pages node which has several child page nodes.
  • Faster Lookup

    • Auto-correct applications and spell checker
    • Syntax Tree in Compiler
  • Task Tracker

    • Undo function in a text editor
  • Encoding

  • Other applications of Binary tree:

    • Binary Search Tree - Used in many search applications where data is constantly entering/leaving, such as the map and set objects in many languages' libraries.
    • Binary Space Partition - Used in almost every 3D video game to determine what objects need to be rendered.
    • Binary Tries - Used in almost every high-bandwidth router for storing router-tables.
    • Hash Trees - used in p2p programs and specialized image signatures in which a hash needs to be verified, but the whole file is not available.
    • Heaps - Used in implementing efficient priority queues, which in turn are used for scheduling processes in many operating systems, Quality-of-Service in routers, and A* (path-finding algorithm used in AI applications, including robotics and video games). Also used in heapsort.
    • Huffman Coding Tree (Chip Uni) - used in compression algorithms, such as those used by the .jpeg and .mp3 file-formats.
    • GGM Trees - Used in cryptographic applications to generate a tree of pseudo-random numbers.
    • Syntax Tree - Constructed by compilers and (implicitly) calculators to parse expressions.
    • Treap - Randomized data structure used in wireless networking and memory allocation.
    • T-tree - Though most databases use some form of B-tree to store data on the drive, databases which keep all (most) their data in memory often use T-trees to do so.