In this chapter, we discussed several
branching structures: trees, heaps, and graphs. Branching
structures are very versatile and offer a good way to model many
real-world objects and situations. Because these data structures
are appropriate for many different types of applications, all kinds
of variations and generalizations of trees and graphs exist. These
topics are introduced here to highlight the wide variety of
applications for which programmers must select and create
appropriate data structures. They are generally covered in detail
in more advanced computer science courses.
We also developed the Set ADT. Two types of
implementation structures are possible for this ADT: explicit, in
which each item of the base type is associated with a Boolean flag,
and implicit, in which the items in the set are kept in a list.