This Graphs lesson is for a beginner. Read the short notes, run each example, then change one name or number and run it again.
A graph is a set of nodes plus the links between them. A dict of lists is a simple way to store those links.
Use a graph for routes, prerequisites, or any relationship that is not a strict tree.
Example 1: Start here
A link that works in both directions must be stored on both nodes.
graph = {"Chennai": ["Madurai"], "Madurai": ["Chennai", "Coimbatore"], "Coimbatore": ["Madurai"]} # a dictionary; each key has one value
print(graph["Madurai"])
Example 2: Walk the values
Graphs starts by visiting one value at a time. Read the printed lines from top to bottom.
values = [10, 3, 11, 7] # a list; the values stay in this order
for value in values: # repeat the indented lines once per value
print(value)
Example 3: Keep the largest
Many data-structure lessons reduce a list to one answer. This one remembers the largest number seen so far.
values = [10, 3, 11, 7] # a list; the values stay in this order
best = values[0] # the first value
for value in values: # repeat the indented lines once per value
if value > best: # run the indented lines only when this is true
best = value # another name for the same value
print(best)
Example 4: Search for a target
A search asks one yes-or-no question: is the target in the collection? Graphs builds on that question.
values = [3, 10, 11] # a list; the values stay in this order
target = 10 # a whole number
print(target in values) # in is True when the value is found
