-
Notifications
You must be signed in to change notification settings - Fork 86
Expand file tree
/
Copy pathObjectives.ptx
More file actions
executable file
·46 lines (46 loc) · 3.09 KB
/
Objectives.ptx
File metadata and controls
executable file
·46 lines (46 loc) · 3.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<section xml:id="graphs_objectives">
<title>Objectives</title>
<p><ul>
<li>
<p>To learn what a graph is and how it is used.</p>
</li>
<li>
<p>To implement the <term>graph</term> abstract data type using multiple internal
representations.</p>
</li>
<li>
<p>To see how graphs can be used to solve a wide variety of problems.</p>
</li>
</ul></p>
<p>In this chapter we will study graphs. Graphs are a more general
structure than the trees we studied in the last chapter; in fact you can
think of a tree as a special kind of graph. Graphs can be used to
represent many interesting things about our world, including systems of
roads, airline flights from city to city, how the Internet is connected,
or even the sequence of classes you must take to complete a major in
computer science. We will see in this chapter that once we have a good
representation for a problem, we can use some standard graph algorithms
to solve what otherwise might seem to be a very difficult problem.</p>
<p>While it is relatively easy for humans to look at a road map and
understand the relationships between different places, a computer has no
such knowledge. However, we can also think of a road map as a graph.
When we do so we can have our computer do interesting things for us. If
you have ever used one of the Internet map sites, you know that a
computer can find the shortest, quickest, or easiest path from one place
to another.</p>
<p>As a student of computer science you may wonder about the courses you
must take in order to get a major. A graph is a good way to represent the
prerequisites and other interdependencies among courses.
<xref ref="graphs_fig1"/> shows another graph. This one represents the courses
and the order in which they must be taken to complete a major in
computer science at Luther College.</p>
<figure align="center" xml:id="graphs_fig1">
<caption>Prerequisites for a Computer Science Major.</caption>
<image source="Graphs/CS-Prereqs.png" width="80%">
<description><p>Flowchart outlining the prerequisites for a Computer Science major. The chart begins with 'Math-151' leading into 'CS-220'. Below this, 'CS-150' points to 'CS-151', which in turn branches into 'CS-250' and 'CS-230'. 'CS-230' continues to 'CS-466', and 'CS-151' also points to 'CS-360', which then leads to 'CS-490'. Additionally, 'CS-360' branches off to 'CS-477'. Each course is represented as a node, and the arrows indicate the prerequisite relationship, where one course must be completed before moving on to the next.</p></description>
</image>
</figure>
<conclusion><p>
<!-- extra space before the progress bar -->
</p></conclusion>
</section>