Applications of tree data structure - GeeksforGeeks

17 Dec, 2021
Why Tree? Unlike Array and Linked List, which are linear data structures, tree is hierarchical (or non-linear) data structure. 
One reason to use trees might be because you want to store information that naturally forms a hierarchy. For example, the file system on a computer: file system ———–  
One reason to use trees might be because you want to store information that naturally forms a hierarchy. For example, the file system on a computer: file system ———–  
file system ———–  
     /   <-- root
  /      \
...        home
      /          \
   ugrad        course
    /          /    |    \
  ...        cs101 cs112 cs113
If we organize keys in form of a tree (with some ordering e.g., BST), we can search for a given key in moderate time (quicker than Linked List and slower than arrays). Self-balancing search trees like AVL and Red-Black trees guarantee an upper bound of O(Logn) for search.We can insert/delete keys in moderate time (quicker than Arrays and slower than Unordered Linked Lists). Self-balancing search trees like AVL and Red-Black trees guarantee an upper bound of O(Logn) for insertion/deletion.Like Linked Lists and unlike Arrays, Pointer implementation of trees don’t have an upper limit on number of nodes as nodes are linked using pointers.
If we organize keys in form of a tree (with some ordering e.g., BST), we can search for a given key in moderate time (quicker than Linked List and slower than arrays). Self-balancing search trees like AVL and Red-Black trees guarantee an upper bound of O(Logn) for search.
We can insert/delete keys in moderate time (quicker than Arrays and slower than Unordered Linked Lists). Self-balancing search trees like AVL and Red-Black trees guarantee an upper bound of O(Logn) for insertion/deletion.
Like Linked Lists and unlike Arrays, Pointer implementation of trees don’t have an upper limit on number of nodes as nodes are linked using pointers.
Other Applications :  
Store hierarchical data, like folder structure, organization structure, XML/HTML data.Binary Search Tree is a tree that allows fast search, insert, delete on a sorted data. It also allows finding closest itemHeap is a tree data structure which is implemented using arrays and used to implement priority queues.B-Tree and B+ Tree : They are used to implement indexing in databases.Syntax Tree:  Scanning, parsing , generation of code and evaluation of arithmetic expressions in Compiler design.K-D Tree: A space partitioning tree used to organize points in K dimensional space.Trie : Used to implement dictionaries with prefix lookup.Suffix Tree : For quick pattern searching in a fixed text.Spanning Trees and shortest path trees are used in routers and bridges respectively in computer networksAs a workflow for compositing digital images for visual effects.Decision trees.Organization chart of a large organization.
Store hierarchical data, like folder structure, organization structure, XML/HTML data.
Binary Search Tree is a tree that allows fast search, insert, delete on a sorted data. It also allows finding closest item
Heap is a tree data structure which is implemented using arrays and used to implement priority queues.
B-Tree and B+ Tree : They are used to implement indexing in databases.
Syntax Tree:  Scanning, parsing , generation of code and evaluation of arithmetic expressions in Compiler design.
K-D Tree: A space partitioning tree used to organize points in K dimensional space.
Trie : Used to implement dictionaries with prefix lookup.
Suffix Tree : For quick pattern searching in a fixed text.
Spanning Trees and shortest path trees are used in routers and bridges respectively in computer networks
As a workflow for compositing digital images for visual effects.
Decision trees.
Organization chart of a large organization.
References: http://www.cs.bu.edu/teaching/c/tree/binary/ http://en.wikipedia.org/wiki/Tree_%28data_structure%29#Common_uses 
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above. 
 
itskawal2000
Self-Balancing-BST
Tree
Tree
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Tree Traversals (Inorder, Preorder and Postorder)
Binary Tree | Set 1 (Introduction)
Level Order Binary Tree Traversal
AVL Tree | Set 1 (Insertion)
Inorder Tree Traversal without Recursion
Write a Program to Find the Maximum Depth or Height of a Tree
Binary Tree | Set 3 (Types of Binary Tree)
Binary Tree | Set 2 (Properties)
Decision Tree
A program to check if a binary tree is BST or not