그래프 데이터 구조 및 Algorithms (예)

데이터 구조의 그래프란 무엇입니까?

그래프는 꼭짓점과 간선으로 구성된 비선형 데이터 구조로, 꼭짓점에는 정보나 데이터가 포함되고 간선은 한 쌍의 꼭짓점 사이를 연결하는 역할을 합니다.

목적지까지의 최적 경로 찾기, 통신 및 소셜 네트워크 경로 찾기와 같은 실제 단어 문제를 해결하는 데 사용됩니다. 사용자는 그래프에서 노드로 간주되며 와이어는 사용자를 연결하는 가장자리입니다.

모서리가 E로 표시되고 꼭지점은 V로 표시되면 그래프 G는 다음과 같이 꼭지점과 모서리의 집합으로 작성될 수 있습니다. G (V, E)

데이터 구조의 그래프 예

다음은 그래프 데이터 구조의 간단한 예입니다.

데이터 구조의 그래프 예

단순한 무방향 그래프(그래프의 한 종류)입니다. 여기서 정점 세트는 {A, B, C,D,E,F}입니다. 두 개의 정점이 가장자리를 만듭니다. 예를 들어 A와 B는 모서리로 연결되어 있습니다. 그러나 A와 F는 어떤 모서리와도 연결되어 있지 않습니다.

데이터 구조의 그래프 용어

그래프 데이터 구조에서 사용되는 몇 가지 중요한 용어는 다음과 같습니다.

기간 기술설명
Vertex 모든 데이터 요소를 정점 또는 노드라고 합니다. 위 이미지에서 A, B, C, D, E는 정점입니다.
모서리(호) 두 노드나 정점 사이를 연결하는 링크를 모서리(Arc)라고 합니다. 두 개의 끝이 있으며 (startingVertex, endVertex)로 표시됩니다.
방향이 지정되지 않은 가장자리 양방향 엣지입니다.
방향성 가장자리 단방향 모서리입니다.
가중치 가장자리 가치가 있는 엣지.
그래프에서는 정점에 연결된 모서리의 수를 차수라고 합니다.
인도 정점에 연결된 들어오는 가장자리의 총 수입니다.
외도 정점에 연결된 나가는 가장자리의 총 개수입니다.
자가 루프 두 끝점이 일치하는 모서리를 자체 루프라고 합니다.
인접 모서리가 연결되어 있으면 정점이 인접해 있다고 합니다.

데이터 구조의 그래프 유형

다음은 가장 일반적인 목록입니다. 데이터 구조의 그래프 유형:

  • 방향성 그래프
  • 무향 그래프
  • 가중 그래프
  • 양방향 그래프
  • 무한 그래프
  • 널 그래프
  • 간단한 그래프
  • 멀티 그래프
  • 완전한 그래프
  • 연결된 그래프
  • 순환 그래프
  • 방향성 비순환 그래프 (DAG)
  • 사이클 그래프
  • 이분 그래프
  • 오일러 그래프
  • 해밀턴 그래프

그래프 데이터 구조의 응용

그래프에는 많은 사용 사례가 있습니다. 그래프를 많이 사용하는 알고리즘이 많이 있습니다. 그래프의 몇 가지 응용 프로그램은 다음과 같습니다.

  • Google 지도는 그래프를 사용하여 두 도로의 교차점을 찾고 두 위치 사이의 거리를 계산합니다.
    예를 들어, Dijkstra, 소스와 대상 위치 사이의 최단 거리를 찾는 데 사용됩니다.
  • Facebook은 그래프를 사용하여 사용자의 상호 친구를 찾습니다. 해당 알고리즘은 각 사용자를 그래프의 노드로 간주합니다.
  • 자원 할당에는 DAG(Direct Acylic Graph)가 사용됩니다. 리소스의 종속성을 확인합니다.
  • Google 검색 엔진은 그래프를 사용하여 웹사이트 순위를 생성합니다.
  • 매핑 장치는 그래프 데이터 구조를 사용합니다.
  • 라우터 t의 프로토콜은 그래프를 사용하여 대상 경로의 경로를 학습합니다.