Introduction to Tree Depth-First Search
Let’s go over the Tree Depth-first Search pattern, its real-world applications, and some problems we can solve with it.
We'll cover the following...
About the pattern
A tree is a graph that contains the following properties:
- It is - undirected - A graph with edges that do not have a specific direction assigned to them. 
- It is - acyclic - A graph without cycles. 
- It is a connected graph where any two vertices are connected by exactly one path. 
- Its nodes can contain values of any data type. 
The following key features set trees apart from other data structures, such as arrays or linked lists:
- They organize data in a hierarchical manner with a root node at the top and child nodes branching out from it. 
- They are nonlinear, which means that the elements in a tree are not arranged sequentially but rather in a branching structure. 
- The time complexity for search and insert operations in trees is typically - , where - is the number of elements in the tree. In contrast, the time complexity for search and insert operations in arrays and linked lists can be - , where - ...