Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

랜덤 에지 생성을 사용하여 랜덤 그래프를 생성하는 C++ 프로그램

<시간/>

이 프로그램에서 임의의 정점과 가장자리에 대해 임의의 그래프가 생성됩니다. 이 프로그램의 시간 복잡도는 O(v * e)입니다. 여기서 v는 정점의 수이고 e는 가장자리의 수입니다.

알고리즘

인수 목록에서 'e'를 가장자리 수로, 'v'를 꼭짓점 수로 사용하여 GenRandomGraphs() 함수 개발을 시작합니다. rand() 함수를 사용하여 그래프의 꼭짓점과 모서리 개수에 임의의 값을 할당합니다. 방향에 관계없이 각 꼭짓점의 연결을 인쇄합니다. 차수가 없는 꼭짓점에 대해 "Isolated vertex"를 인쇄합니다.End

예시

#include#include네임스페이스 std;void GenRandomGraphs(int NOEdge, int NOVertex){ int i, j, edge[NOEdge][2], count; 나는 =0; //rand()를 사용하여 그래프의 꼭짓점과 가장자리 수에 임의의 값을 할당합니다. while(i  { "; for(j =0; j  

출력

무작위 그래프 생성:그래프에는 8개의 정점이 있고 18개의 모서리가 있습니다. 생성된 무작위 그래프는 다음과 같습니다. 1-> { 5 4 2 }2-> { 4 8 6 3 1 5 }3-> { 5 4 7 2 } 4-> { 2 3 7 1 8 5 }5-> { 3 1 7 4 2 8 }6-> { 2 8 7 }7-> { 4 3 5 6 }8-> { 2 6 4 5 }