LoslegenKostenlos loslegen

Anzahl der Nachbarn für jeden Knoten berechnen

Wie bewertest du, ob ein Knoten wichtig ist oder nicht? Es gibt mehrere Möglichkeiten, und hier betrachten wir eine Kennzahl: die Anzahl der Nachbarn eines Knotens.

Jeder NetworkX-Graph G stellt eine Methode .neighbors(n) bereit, die einen Iterator der Knoten zurückgibt, die Nachbarn des Knotens n sind. Probiere diese Methode zunächst in der IPython-Shell am Twitter-Netzwerk T aus, um die Nachbarn des Knotens 1 zu erhalten. So lernst du, wie die Funktion funktioniert. Danach ist deine Aufgabe in dieser Übung, eine Funktion zu schreiben, die alle Knoten zurückgibt, die m Nachbarn haben.

Diese Übung ist Teil des Kurses

Einstieg in die Netzwerkanalyse mit Python

Kurs anzeigen

Anleitung zur Übung

  • Schreibe eine Funktion namens nodes_with_m_nbrs(), die zwei Parameter hat – G und m – und alle Knoten zurückgibt, die m Nachbarn haben. Gehe dazu so vor:
    • Iteriere über alle Knoten in G (ohne die Metadaten).
    • Verwende die Funktionen len() und list() zusammen mit der Methode .neighbors(), um die Gesamtzahl der Nachbarn zu berechnen, die der Knoten n im Graphen G hat.
      • Wenn die Anzahl der Nachbarn des Knotens n gleich m ist, füge n mit der Methode .add() zur Menge nodes hinzu.
    • Gib nach dem Iterieren über alle Knoten in G die Menge nodes zurück.
  • Verwende deine Funktion nodes_with_m_nbrs(), um alle Knoten abzurufen, die im Graphen T 6 Nachbarn haben.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Define nodes_with_m_nbrs()
def ____:
    """
    Returns all nodes in graph G that have m neighbors.
    """
    nodes = set()

    # Iterate over all nodes in G
    for n in ____:

        # Check if the number of neighbors of n matches m
        if ____ == ____:

            # Add the node n to the set
            ____

    # Return the nodes with m neighbors
    return nodes

# Compute and print all nodes in T that have 6 neighbors
six_nbrs = ____
print(____)
Code bearbeiten und ausführen