English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 흐름 제어

Java 배열

Java 오브젝트 지향(I)

Java 오브젝트 지향(II)

Java 오브젝트 지향(III)

Java 예외 처리

Java 목록(List)

Java Queue(큐)

Java Map 콜렉션

Java Set 콜렉션

Java 입력/출력(I/O)

Java Reader/Writer

Java 다른 주제

Java 프로그램으로 그래프 데이터 구조 구현

Java 예제 모든 것

이 예제에서는 Java로 그래프 데이터 구조를 구현하겠습니다.

예제: 그래프 데이터 구조 구현

class Graph {
  //내부 클래스
  class Edge {
    int src, dest;
  }
  //정점과 간선의 개수
  int vertices, edges;
  //모든 간선을 저장하는 배열
  Edge[] edge;
  Graph(int vertices, int edges) {
    this.vertices = vertices;
    this.edges = edges;
    //배열 초기화
    edge = new Edge[edges];
    for(int i = 0; i < edges; i++) {
      //辺 배열의 각 요소
      //Edge 타입의 객체
      edge[i] = new Edge();
    }
  }
  public static void main(String[] args) {
    //Graph 클래스의 객체 생성
    int noVertices = 5;
    int noEdges = 8;
    Graph g = new Graph(noVertices, noEdges);
    //그래프 생성
    g.edge[0].src = 1;   // edge 1---2
    g.edge[0].dest = 2;
    g.edge[1].src = 1;   // edge 1---3
    g.edge[1].dest = 3;
    g.edge[2].src = 1;   // edge 1---4
    g.edge[2].dest = 4;
    g.edge[3].src = 2;   // edge 2---4
    g.edge[3].dest = 4;
    g.edge[4].src = 2;   // edge 2---5
    g.edge[4].dest = 5;
    g.edge[5].src = 3;   // edge 3---4
    g.edge[5].dest = 4;
    g.edge[6].src = 3;   // edge 3---5
    g.edge[6].dest = 5;
    g.edge[7].src = 4;   // edge 4---5
    g.edge[7].dest = 5;
    //그래프 출력
    for(int i = 0; i < noEdges;++) {
      System.out.println(g.edge[i].src + " - " + g.edge[i].dest);
    }
  }
}

출력 결과

1 - 2
1 - 3
1 - 4
2 - 4
2 - 5
3 - 4
3 - 5
4 - 5
그래픽 출력

위의 예제에서는 이미 Java로 그래픽 데이터 구조를 구현했습니다.

Java 예제 모든 것