ComeçarComece de graça

Calcule o número de vizinhos de cada nó

Como você avalia se um nó é importante ou não? Existem algumas maneiras de fazer isso e, aqui, você vai analisar uma métrica: o número de vizinhos que um nó tem.

Todo grafo do NetworkX G expõe um método .neighbors(n) que retorna um iterador dos nós que são vizinhos do nó n. Para começar, use esse método no IPython Shell na rede do Twitter T para obter os vizinhos do nó 1. Isso vai ajudar você a se familiarizar com o funcionamento da função. Depois, sua tarefa neste exercício é escrever uma função que retorne todos os nós que têm m vizinhos.

Este exercício faz parte do curso

Introdução à Análise de Redes em Python

Ver curso

Instruções do exercício

  • Escreva uma função chamada nodes_with_m_nbrs() que tenha dois parâmetros — G e m — e retorne todos os nós que têm m vizinhos. Para fazer isso:
    • Itere por todos os nós em G (sem incluir os metadados).
    • Use as funções len() e list() junto com o método .neighbors() para calcular o total de vizinhos que o nó n no grafo G possui.
      • Se o número de vizinhos do nó n for igual a m, adicione n ao conjunto nodes usando o método .add().
    • Depois de iterar por todos os nós em G, retorne o conjunto nodes.
  • Use sua função nodes_with_m_nbrs() para recuperar todos os nós que têm 6 vizinhos no grafo T.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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(____)
Editar e executar o código