Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ แสดงกราฟด้วย Incidence List


โปรแกรมนี้แสดงกราฟโดยใช้ incidence list และ time complexity ของอัลกอริทึมนี้คือ O(e)

อัลกอริทึม

เริ่มต้น
  รับจำนวน vertex 'v' และ edges 'e' และรับ 'e' คู่ของ vertex ของกราฟที่กำหนดใน e[][]
  สำหรับแต่ละขอบ พิมพ์ vertex ที่เกี่ยวข้องในการเชื่อมต่อนั้น
สิ้นสุด

โค้ดตัวอย่าง

#include <iostream>
using namespace std;

int main() {
    int i, v, e, j, c;
    cout << "Enter the number of vertexes of the graph: ";
    cin >> v;
    cout << "\nEnter the number of edges of the graph: ";
    cin >> e;
    int edge[e][2];
    for(i = 0; i < e; i++) {
        cout << "\nEnter the vertex pair for edge " << i+1;
        cout << "\nV(1): ";
        cin >> edge[i][0];
        cout << "V(2): ";
        cin >> edge[i][1];
    }
    cout << "\n\nThe incidence list representation for the given graph: ";
    for(i = 0; i < e; i++) {
        cout << "\n\tE(" << i+1 << ") -> { ";
        cout << "V(" << edge[i][0] << ") , " << "V(" << edge[i][1] << ")";
        cout << " }";
    }
}

ผลลัพธ์ตัวอย่าง

Enter the number of vertexes of the graph: 3
Enter the number of edges of the graph: 4
Enter the vertex pair for edge 1
V(1): 2
V(2): 1
Enter the vertex pair for edge 2
V(1): 1
V(2): 2
Enter the vertex pair for edge 3
V(1): 3
V(2): 2
Enter the vertex pair for edge 4
V(1): 2
V(2): 3

The incidence list representation for the given graph:
E(1) -> { V(2) , V(1) }
E(2) -> { V(1) , V(2) }
E(3) -> { V(3) , V(2) }
E(4) -> { V(2) , V(3) }