Hitung jumlah tetangga untuk setiap node
Bagaimana Anda menilai apakah sebuah node penting atau tidak? Ada beberapa cara untuk melakukannya, dan di sini Anda akan melihat satu metrik: jumlah tetangga yang dimiliki sebuah node.
Setiap graf NetworkX G menyediakan metode .neighbors(n) yang mengembalikan iterator node yang merupakan tetangga dari node n. Untuk memulai, gunakan metode ini di IPython Shell pada jaringan Twitter T untuk mendapatkan tetangga dari node 1. Ini akan membantu Anda memahami cara kerja fungsi tersebut. Selanjutnya, tugas Anda dalam latihan ini adalah menulis fungsi yang mengembalikan semua node yang memiliki m tetangga.
Latihan ini adalah bagian dari kursus
Pengantar Analisis Jaringan di Python
Petunjuk latihan
- Tulis fungsi bernama
nodes_with_m_nbrs()yang memiliki dua parameter —Gdanm— dan mengembalikan semua node yang memilikimtetangga. Untuk melakukannya:- Iterasikan semua node dalam
G(tidak termasuk metadata). - Gunakan fungsi
len()danlist()bersama dengan metode.neighbors()untuk menghitung total jumlah tetangga yang dimiliki nodenpada grafG.- Jika jumlah tetangga node
nsama denganm, tambahkannke himpunannodesmenggunakan metode.add().
- Jika jumlah tetangga node
- Setelah mengiterasi semua node dalam
G, kembalikan himpunannodes.
- Iterasikan semua node dalam
- Gunakan fungsi
nodes_with_m_nbrs()Anda untuk mengambil semua node yang memiliki 6 tetangga dalam grafT.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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(____)