Files

1.1 KiB

Outline

We're working on exercise 2 from 2026.07.31. The exercise and starter file is included again below for convenience.

In a weighted road network, return all possible paths that a car can take to reach point A to point B. For each path, also sum up the total weight that taking that path requires.

Your algorithm should take the starting and ending points, and return a list of tuples. Each tuple should contain the traversal from point A to point B, followed by the total weight.

In this fictitious graph, calling possible_paths("Santa Ana", "San Francisco") should yield the return below.

graph = {
    'Santa Ana': {
        'Los Angeles': 5,
        'Palm Springs': 50
    },
    'Los Angeles': {
        'San Francisco': 25,
        'Santa Ana': 5
    },
    'Palm Springs': {
        'San Francisco': 30,
        'Santa Ana': 50
    },
    'San Francisco': {
        'Los Angeles': 25,
        'Palm Springs': 30
    } 
}
[
    (
        ["Santa Ana", "Los Angeles", "San Francisco"],
        30
    ),
    (
        ["Santa Ana", "Palm Springs", "San Francisco"],
        80
    )
]