Sets are collections of distinguishable objects, called
*members,* grouped together because they are in some way related. Two
important characteristics of sets are that their members are unordered
and that no members occur more than once. Sets are an important part of
discrete mathematics, an area of mathematics particularly relevant to
computing. In computing, we use sets to group data, especially when we
plan to correlate it with other data in the future. Some languages, such
as Pascal, support sets intrinsically, but C does not. Therefore, this
chapter presents a set abstract datatype.

This chapter covers:

- Set principles
The fundamental mathematics describing sets. Like other mathematical objects, sets can be described in terms of some definitions, basic operations, and properties.

- Sets
Abstract datatypes based on the mathematical concept of a set. Sets are unordered collections of related members in which no members occur more than once.

Some applications of sets are:

- Data correlation
Determining interesting relationships between sets of data. For example, the

*intersection*of two sets tells which members are present in both sets. The*difference*of two sets tells which members of the first set do not appear in the second set.- Set covering (illustrated in this chapter)
An optimization problem that nicely models many problems of combinatorics and resource selection. For example, imagine trying to form a team from a large set of candidate players, each with a certain set of ...

Start Free Trial

No credit card required