그래프 표현 | 간선 배열

호떡·2022년 10월 16일
0

📌 간선 자체를 배열에 저장
📌 존재하는 간선의 정보만을 저장


간선 배열(Edge Array)

  • 간선(시작 정점, 끝 정점)을 배열에 연속적으로 저장
  • 정점과 정점의 연결 정보인 간선을 배열에 저장
  • 간선을 표현하는 두 정점의 정보를 배열 혹은 객체로 저장할 수 있다.


코드


import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class 간선배열 {
	static class Edge {
    	int st;
        int ed;
        
        public Edge (int st, int ed) {
        	this.st = st;
            this.ed = ed;
        }
    }

	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
		int V = sc.nextInt();			 		// 정점의 개수
		int E = sc.nextInt(); 			 		// 간선의 개수
    
    	// 2가지 방법으로 표현할 수 있다.
//    	Edge[] edges = new Edge[E];
    	List<Edge> edges = new ArrayList<>();
        
        for(int i = 0; i < E; i++) {
        	int st = sc.nextInt();
            int ed = sc.nextInt();
            
            // 간선의 정보만 저장하면되므로 아래 코드만 있어도 된다. 
//          edges[i] = new Edge(st, ed);
        	edges.add(new Edge(st, ed));
        }
    }
}

0개의 댓글