เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

คำนวณจำนวนเพื่อนบ้านของแต่ละโหนด

จะประเมินได้อย่างไรว่าโหนดใดมีความสำคัญ? มีหลายวิธีในการวัด และในที่นี้จะเริ่มจากเมตริกแรก ได้แก่ จำนวนเพื่อนบ้านของโหนดนั้น

กราฟ NetworkX ทุกกราฟ G มีเมธอด .neighbors(n) ที่คืนค่า iterator ของโหนดที่เป็นเพื่อนบ้านของโหนด n ลองใช้เมธอดนี้ใน IPython Shell กับเครือข่าย Twitter T เพื่อดูเพื่อนบ้านของโหนด 1 ก่อน เพื่อทำความคุ้นเคยกับการทำงานของฟังก์ชัน จากนั้นในแบบฝึกหัดนี้ ให้เขียนฟังก์ชันที่คืนค่าโหนดทั้งหมดที่มีเพื่อนบ้านจำนวน m โหนด

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การวิเคราะห์เครือข่ายเบื้องต้นด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เขียนฟังก์ชันชื่อ nodes_with_m_nbrs() ที่รับพารามิเตอร์สองตัว ได้แก่ G และ m และคืนค่าโหนดทั้งหมดที่มีเพื่อนบ้าน m โหนด โดยทำตามขั้นตอนดังนี้
    • วนซ้ำผ่านโหนดทั้งหมดใน G (ไม่รวม metadata)
    • ใช้ฟังก์ชัน len() และ list() ร่วมกับเมธอด .neighbors() เพื่อคำนวณจำนวนเพื่อนบ้านทั้งหมดของโหนด n ในกราฟ G
      • ถ้าจำนวนเพื่อนบ้านของโหนด n เท่ากับ m ให้เพิ่ม n เข้าไปใน set nodes โดยใช้เมธอด .add()
    • หลังจากวนซ้ำครบทุกโหนดใน G แล้ว ให้ return set nodes
  • ใช้ฟังก์ชัน nodes_with_m_nbrs() ที่เขียนไว้เพื่อดึงโหนดทั้งหมดที่มีเพื่อนบ้าน 6 โหนดในกราฟ T

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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(____)
แก้ไขและรันโค้ด