>백엔드 개발 >C++ >주어진 조건을 만족하는 그래프의 길이가 3인 사이클이 있는지 확인하세요.

주어진 조건을 만족하는 그래프의 길이가 3인 사이클이 있는지 확인하세요.

王林
王林앞으로
2023-09-06 13:01:03646검색

주어진 조건을 만족하는 그래프의 길이가 3인 사이클이 있는지 확인하세요.

주어진 조건을 만족하는 길이 3의 루프에 대한 그래프를 확인하고, 각 꼭지점을 반복적으로 횡단하고 인접한 꼭지점을 볼 준비를 합니다. 정점에 너무 연결된 두 개의 이웃이 있는 경우 길이가 3인 주기가 존재합니다. 이 조건은 두 이웃 사이에 가장자리가 있어 삼각형을 형성한다는 것을 보장합니다. 모든 정점과 인접 정점을 필터링하여 이러한 순환이 존재하는지 확인합니다. 정점에 두 개의 서로 관련된 이웃이 있는 것을 발견하면 그래프는 주어진 조건을 만족하는 길이 3의 주기를 보여준다고 결론을 내릴 수 있습니다.

사용방법

  • 인접 행렬 방법

  • 인접 목록 방법

인접 방법

주어진 조건을 만족하는 그래프에 길이가 3인 주기가 있는지 확인하기 위해 전염성 방법을 사용할 수 있습니다. 이 접근 방식에서는 그래프의 각 정점을 반복하고 인접한 정점을 확인합니다. 각 정점에 대해 인접한 정점 중 두 개가 너무 밀접하게 관련되어 있는지 확인합니다. 그러한 일치 항목이 발견되면 해당 일치 조건이 충족되는지 확인합니다. 조건이 만족되면 주어진 조건을 만족하는 데 가장 가까운 길이 3의 루프를 나타냅니다. 그래프의 모든 꼭지점을 보면 그러한 순환이 존재하는지 확인할 수 있습니다.

알고리즘

  • "cycleExists"라는 부울 변수를 false로 초기화합니다.

  • 그래프의 각 정점을 반복합니다.

    • 각 정점에 대해 인접한 정점을 반복합니다.

    • 인접한 각 정점에 대해 인접한 정점을 강조합니다(현재 정점 제외).

    • 인접한 두 정점이 서로 연관되어 있으면 다음 단계를 계속 진행하세요.

  • 2c단계에서 찾은 연관된 정점의 조합이 조건을 만족하는지 확인하세요.

    • 조건이 충족되면 "cycleExists"를 true로 설정하고 루프에서 빠져나옵니다.

  • 사이클을 완료한 후 "cycleExists" 값을 확인하세요.

    • "cycleExists"가 true이면 그래프에 주어진 조건을 만족하는 길이 3의 주기가 있습니다.

    • "cycleExists"가 틀리면 해당 사이클이 존재하지 않는 것입니다.

  • 결과 출력.

  • 이 계산은 그래프의 꼭지점을 반복하고, 인접한 꼭지점을 분석하고, 인접한 꼭지점과 일치하는 항목이 주어진 조건을 만족하는 길이 3의 주기를 형성하는지 확인합니다.

    李>

으아아아

출력

으아아아

인접 목록 방법

인접 리스트 메소드는 다이어그램과 대화하는 데 사용되는 정보 구조일 수 있습니다. 이 접근 방식에서는 그래프의 각 꼭지점은 인접한 모든 꼭지점을 포함하는 목록과 연결됩니다. 그래프에 주어진 조건을 만족하는 길이 3의 사이클이 있는지 확인하기 위해 각 정점과 그 인접 정점을 반복합니다. 각 인접 정점에 대해 현재 정점과 공통된 인접 정점이 포함되어 있는지 확인합니다. 그러한 공통 정점이 존재하면 길이가 3인 링이 발견됩니다. 이 접근 방식은 감염 목록의 거의 모든 꼭지점과 해당 연결에 대한 필수 데이터를 저장하여 그래프의 효율적인 조사를 보장합니다.

알고리즘

  • 그래프와 대화하는 전염성 목록을 만듭니다. 여기서 각 정점에는 인접 정점 목록이 포함됩니다.

  • 그래프의 각 정점을 반복합니다.

  • 각 정점에 대해 인접한 정점을 반복합니다.

  • 인접한 각 정점에 대해 인접한 정점을 강조합니다(현재 정점 제외).

  • 현재 정점과 인접 정점의 인접 정점 사이에 공통 정점이 있는지 확인하세요.

  • 공통 꼭지점이 발견되면 길이가 3인 링이 존재합니다. 참을 반환합니다.

  • 길이가 3인 링이 없으면 false를 반환합니다.

으아아아

출력

으아아아

결론

이 글에서는 주어진 조건을 만족하는 그래프에 길이가 3인 루프가 있는지 확인하는 방법을 살펴봅니다. 이는 두 가지 접근 방식, 특히 전염성 프레임 접근 방식과 전염성 목록 접근 방식을 보여줍니다. 이 기사에서는 계산 프로세스를 추적하고 두 가지 방법에 대한 C 코드를 제공합니다. 전염성 네트워크 접근 방식에는 조건을 충족하는 길이 3의 사이클을 식별하기 위해 각 정점과 인접 정점을 강조하는 작업이 포함됩니다. 전염성 목록 방법은 그래프와 대화하는 정보 구조를 활용하고 인접한 정점 간의 공통 정점을 검사하여 주기의 근접성을 결정합니다.

위 내용은 주어진 조건을 만족하는 그래프의 길이가 3인 사이클이 있는지 확인하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제