Non-Linear Problems
Two main categories of situations that cannot be represented with the help of linear data structures are hierarchical problems and cyclic dependencies. Let's take a closer look at these cases.
Hierarchical Problems
Let's look at a couple of examples that inherently have hierarchical properties. The following is the structure of an organization:
Figure 2.1: Organization structure
As we can see, the CEO is the head of the company and manages the Deputy Director. The Deputy Director leads three other officers, and so on.
The data is inherently hierarchical in nature. This type of data is difficult to manage using simple arrays, vectors, or linked lists. To solidify our understanding, let's look at another use case; that is, a university course's structure, as shown in the following figure:
Figure 2.2: Course hierarchy in a university course structure
The preceding figure shows the course dependencies for some courses...