Apakah python memiliki struktur data grafik?

Itu dapat diwakili oleh struktur data Python berikut. Ini adalah kamus yang kuncinya adalah simpul grafik. Untuk setiap kunci, nilai yang sesuai adalah daftar yang berisi node yang dihubungkan oleh busur langsung dari node ini.  

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 

Representasi grafis dari contoh di atas.  
 

Apakah python memiliki struktur data grafik?

Biasanya, kamus Python melontarkan KeyError jika Anda mencoba mendapatkan item dengan kunci yang saat ini tidak ada di kamus. defaultdict memungkinkan bahwa jika kunci tidak ditemukan dalam kamus, maka bukannya KeyError dilemparkan, entri baru dibuat. Jenis entri baru ini diberikan oleh argumen defaultdict.  

Fungsi Python untuk menghasilkan grafik.  

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
_

Direkomendasikan. Harap coba pendekatan Anda pada {IDE} terlebih dahulu, sebelum melanjutkan ke solusi

Penerapan

Python3




# Python program for 

# validation of a graph

 

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
0

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
1
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
2
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
3
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
4

 

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
_6

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
7
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
9
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
0
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
1

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
2
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
3

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
_4
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
5

 

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
_7

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
2
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
9

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
4
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
1
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
3

 

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
_4
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
6

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
4
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
8
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
9
['d', 'a', 'c']
0
['d', 'a', 'c']
1

['d', 'a', 'c']
2

['d', 'a', 'c']
3
['d', 'a', 'c']
4

________29______3

[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
8
['d', 'a', 'c']
7
['d', 'a', 'c']
0
['d', 'a', 'c']
9

[['d', 'a', 'c'], ['d', 'a', 'c']]
0

[['d', 'a', 'c'], ['d', 'a', 'c']]
1
[['d', 'a', 'c'], ['d', 'a', 'c']]
2

[['d', 'a', 'c'], ['d', 'a', 'c']]
1
[['d', 'a', 'c'], ['d', 'a', 'c']]
4

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
_4
[['d', 'a', 'c'], ['d', 'a', 'c']]
6
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
1

 

[['d', 'a', 'c'], ['d', 'a', 'c']]
_9

________29______0

['d', 'a', 'c']
1
['d', 'a', 'c']
2
['d', 'a', 'c']
3
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
1

________29______0

['d', 'a', 'c']
6
['d', 'a', 'c']
2
['d', 'a', 'c']
3
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
1

['d', 'a', 'c']
0
['d', 'a', 'c']
6
['d', 'a', 'c']
2# Python program for 3
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
1

['d', 'a', 'c']
0
['d', 'a', 'c']
3
['d', 'a', 'c']
2# Python program for 8
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
1

['d', 'a', 'c']
0
['d', 'a', 'c']
3
['d', 'a', 'c']
2# Python program for 3
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
1

['d', 'a', 'c']
0
['d', 'a', 'c']
3
['d', 'a', 'c']
2
['d', 'a', 'c']
1
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
1

['d', 'a', 'c']
0
['d', 'a', 'c']
3
['d', 'a', 'c']
2
['d', 'a', 'c']
6
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
1

['d', 'a', 'c']
0# Python program for 3
['d', 'a', 'c']
2
['d', 'a', 'c']
6
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
1

['d', 'a', 'c']
0# Python program for 8
['d', 'a', 'c']
2
['d', 'a', 'c']
3
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
1

['d', 'a', 'c']
0# Python program for 3
['d', 'a', 'c']
2
['d', 'a', 'c']
3
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
1

 

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
_11

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
_12

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
13
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
14

Keluaran

[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]

Seperti yang telah kita ambil contoh grafik tidak berarah, maka kita telah mencetak sisi yang sama dua kali katakanlah sebagai ('a','c') dan ('c','a'). Hal ini dapat kita atasi dengan penggunaan graf berarah.  
Di bawah ini adalah beberapa program lagi tentang grafik dengan python.  
 
Untuk menghasilkan jalur dari satu node ke node lainnya.  

Menggunakan kamus Python, kita dapat menemukan jalur dari satu node ke node lainnya dalam sebuah Grafik. Idenya mirip dengan DFS dalam grafik.  
Dalam fungsinya, awalnya path adalah daftar kosong. Di awal, jika simpul awal cocok dengan simpul akhir, fungsi akan mengembalikan jalur. Jika tidak, kode akan maju dan mengenai semua nilai node awal dan mencari jalur menggunakan rekursi.  

Python3




graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
_15

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
_16

 

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
7
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
20

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
4
['d', 'a', 'c']
1
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
23
['d', 'a', 'c']
3
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
25

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
4
['d', 'a', 'c']
6
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
23# Python program for 8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
25

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
4
['d', 'a', 'c']
3
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
23# Python program for 3
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
25

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
4# Python program for 8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
23
['d', 'a', 'c']
1
['d', 'a', 'c']
2# Python program for 8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
25

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
4# Python program for 3
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
23
['d', 'a', 'c']
6
['d', 'a', 'c']
2
['d', 'a', 'c']
3
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
49

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
_50

 

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
_52

 

 

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
2
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
56
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
58

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
4
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
60
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
60
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
63
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
64

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
4
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
66
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
67
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
70

['d', 'a', 'c']
3
[['d', 'a', 'c'], ['d', 'a', 'c']]
6
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
60

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
4
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
8
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
9
['d', 'a', 'c']
0
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
78

________29______3

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
66
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
9
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
82
['d', 'a', 'c']
0
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
84

[['d', 'a', 'c'], ['d', 'a', 'c']]
1
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
86
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
88

________39______1

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
66
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
91

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
_92
[['d', 'a', 'c'], ['d', 'a', 'c']]
6
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
86

 

 

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
_97

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
13
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
99# Python program for 8
['d', 'a', 'c']
2
['d', 'a', 'c']
3
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
03

Keluaran

['d', 'a', 'c']

Program untuk menghasilkan semua jalur yang mungkin dari satu node ke node lainnya.  

Dalam program yang dibahas di atas, kami membuat jalur pertama yang memungkinkan. Sekarang, mari kita buat semua jalur yang mungkin dari node awal ke node akhir. Fungsi dasar berfungsi sama dengan fungsi kode di atas. Tempat di mana perbedaannya adalah alih-alih langsung mengembalikan jalur pertama, ia menyimpan jalur itu dalam daftar bernama 'jalur' dalam contoh yang diberikan di bawah ini. Akhirnya, setelah mengulangi semua cara yang mungkin, ia mengembalikan daftar jalur. Jika tidak ada jalur dari simpul awal ke simpul akhir, ia mengembalikan Tidak Ada.  

Penerapan

Python3




# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
_04

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
_16

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
7
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
20

['d', 'a', 'c']
1
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
10
['d', 'a', 'c']
3
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
25

________29______6

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
10# Python program for 8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
25

['d', 'a', 'c']
3
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
10# Python program for 3
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
25

# Python program for 8

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
10
['d', 'a', 'c']
1
['d', 'a', 'c']
2# Python program for 8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
25

# Python program for 3

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
10
['d', 'a', 'c']
6
['d', 'a', 'c']
2
['d', 'a', 'c']
3
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
49

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
_50

 

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
_35

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
2
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
37
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
58

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
40
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
60
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
60
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
63
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
64

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
40
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
66
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
67
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
70

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
_4
[['d', 'a', 'c'], ['d', 'a', 'c']]
6
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
54

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
40
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
56
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
3

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
40
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
8
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
9
['d', 'a', 'c']
0
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
78

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
4
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
66
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
9
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
82
['d', 'a', 'c']
0
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
84

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
70
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
71
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
73

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
4
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
86
['d', 'a', 'c']
0
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
78

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
70
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
80

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
_40
[['d', 'a', 'c'], ['d', 'a', 'c']]
6
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
56

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
_84

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
_85

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
_86

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
13
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
88# Python program for 8
['d', 'a', 'c']
2
['d', 'a', 'c']
3
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
03

Keluaran

[['d', 'a', 'c'], ['d', 'a', 'c']]

Program untuk menghasilkan jalur terpendek.  

Untuk mendapatkan yang terpendek dari semua jalur, kami menggunakan pendekatan yang sedikit berbeda seperti yang ditunjukkan di bawah ini. Dalam hal ini, saat kami mendapatkan jalur dari simpul awal ke simpul akhir, kami membandingkan panjang jalur dengan variabel bernama terpendek yang diinisialisasi dengan nilai Tidak ada. Jika panjang jalur yang dihasilkan kurang dari panjang terpendek, jika terpendek tidak ada, jalur yang baru dibuat ditetapkan sebagai nilai terpendek. Sekali lagi, jika tidak ada jalan, itu mengembalikan Tidak ada

Penerapan

Python3




# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
_93

 

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
7
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
20

['d', 'a', 'c']
1
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
10
['d', 'a', 'c']
3
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
25

________29______6

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
10# Python program for 8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
25

['d', 'a', 'c']
3
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
10# Python program for 3
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
25

# Python program for 8

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
10
['d', 'a', 'c']
1
['d', 'a', 'c']
2# Python program for 8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
25

# Python program for 3

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
10
['d', 'a', 'c']
6
['d', 'a', 'c']
2
['d', 'a', 'c']
3
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
49

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
_50

 

[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
24

# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
2
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
26
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
58

['d', 'a', 'c']
3
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
60
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
60
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
63
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
64

________29______3

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
66
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
67
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
70

[['d', 'a', 'c'], ['d', 'a', 'c']]
1
[['d', 'a', 'c'], ['d', 'a', 'c']]
6
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
60

['d', 'a', 'c']
3
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
45
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
47

________29______3

[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
8
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
9
['d', 'a', 'c']
0
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
78

[['d', 'a', 'c'], ['d', 'a', 'c']]
1
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
66
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
9
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
82
['d', 'a', 'c']
0
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
84

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
92
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
86
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
62

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
_92
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
66
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
91

[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
66
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
66
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
82
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
45
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
70
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
71
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
72
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
71
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
74

[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
75
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
45
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
8
graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
86

['d', 'a', 'c']
3
[['d', 'a', 'c'], ['d', 'a', 'c']]
6
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
45

['d', 'a', 'c']
2

[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
83

[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
84

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        } 
13
[('a', 'c'), ('b', 'c'), ('b', 'e'), ('c', 'd'), 
  ('c', 'e'), ('c', 'a'), ('c', 'b'), ('e', 'b'), 
  ('e', 'c'), ('d', 'c')]
86# Python program for 8
['d', 'a', 'c']
2
['d', 'a', 'c']
3
# definition of function
def generate_edges(graph):
    edges = []

    # for each node in graph
    for node in graph:

        # for each neighbour node of a single node
        for neighbour in graph[node]:
            # if edge exists then append
            edges.append((node, neighbour))
    return edges
03

Keluaran

['d', 'a', 'c']

Artikel ini disumbangkan oleh Shivam Pradhan (anuj_charm) dan Rishabh Bansal. Jika Anda menyukai GeeksforGeeks dan ingin berkontribusi, Anda juga dapat menulis artikel menggunakan tulis. geeksforgeeks. org atau kirimkan artikel Anda ke review-team@geeksforgeeks. org. Lihat artikel Anda muncul di halaman utama GeeksforGeeks dan bantu Geeks lainnya.  

Apakah ada struktur data grafik di Python?

Pada artikel ini, kita akan melihat bagaimana mengimplementasikan graph dengan python menggunakan dictionary data structure dengan python. Kunci kamus yang digunakan adalah node dari grafik kami dan nilai yang sesuai adalah daftar dengan setiap node, yang terhubung dengan sebuah edge. Itu dapat diwakili oleh struktur data Python berikut.

Bagaimana Anda membuat grafik struktur data dengan Python?

Menggunakan matriks adjacency . add_vertex(v) menambahkan simpul baru v ke grafik, dan add_edge(v1, v2, e) menambahkan tepi dengan bobot e antara simpul v1 dan v2. print("Vertex ", v1, " tidak ada. ") print("Vertex ", v2, " tidak ada

Bagaimana Anda memvisualisasikan struktur data grafik dengan Python?

Grafik adalah struktur data non-linear yang terdiri dari node dan edge. Simpul terkadang juga disebut sebagai simpul dan ujungnya adalah garis atau busur yang menghubungkan dua simpul mana pun dalam grafik. Dalam tutorial ini kita akan memvisualisasikan Graf tak terarah dengan Python dengan bantuan library networkx .

Bisakah Python menghasilkan grafik?

Grafik dengan Python dapat diplot dengan menggunakan pustaka Matplotlib . Pustaka Matplotlib terutama digunakan untuk merencanakan grafik. Anda perlu menginstal matplotlib sebelum menggunakannya untuk memplot grafik. Matplotlib digunakan untuk menggambar garis sederhana, grafik batang, histogram, dan diagram lingkaran.