Course Description:
This course explains how we can solve problems involving Tree data structure. First, the concept is explained in white board and then the solution is coded for better understanding.
When we see a tree data structure, the first thing we need to identify is to use either Breadth-first Search or Depth-first search. This course differentiates the Breadth-first search and Depth-first search problems and the different techniques used in them.
Depth First search uses recursion. It is very hard to visualize recursion. This course uses a debugger and this helps in visualizing the code flow.
What is Tree data structure?
A tree is non-linear and a hierarchical data structure consisting of a collection of nodes such that each node of the tree stores a value and a list of references to other children nodes .
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 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.
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
etc