- Next Move in games
- Computer chess games build a huge tree (training) which they prune at runtime using heuristics to reach an optimal move.
- 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.
- 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.
- As a workflow for compositing digital images for visual effects.
- 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.
- Auto-correct applications and spell checker
- Syntax Tree in Compiler
- Undo function in a text editor
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.