• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

그래프 생성 관련 질문입니다.

20.12.28 23:08 작성 조회수 107

0

그래프 생성 강의에서 List<int> 배열로 그래프를 만드셨는데

아래와 같이 List<int[]> 에 Add()로 int 배열을 넣는 것과 어떤 차이가 있는지 궁금합니다.

List<int[]> adj2 = new List<int[]>();
            adj2.Add(new int [ ] { 1, 3});
            adj2.Add(new int [ ] { 0, 2, 3 });
            adj2.Add(new int [ ] { 1 });
            adj2.Add(new int [ ] { 0, 1, 4 });
            adj2.Add(new int [ ] { 3, 5 });
            adj2.Add(new int [ ] { 4 });

답변 2

·

답변을 작성해보세요.

2

리스트는 [동적 배열] 즉 크기가 변할 수 있는 배열이라는 특징이 있지만,
애당초 고정 사이즈의 배열로 사용할거라면
[리스트]나 [배열]이나 무엇을 선택해도 무방합니다.

그래프 연결 예제에선 딱히 정점끼리의 연결이 변하거나 하진 않으니
- 배열의 배열 int[][]
- 리스트의 배열 List<int>[]
- 배열의 리스트 List<int[]>
모두 (여기서는) 똑같이 사용할 수 있습니다.

작성해주신 예제에서는 배열의 리스트를 사용하고 있는데,
배열은 크기가 조정될 수 없다보니,
만약 {1, 3}이 아니라, {1, 3, 4}로 간선 연결이 바뀌어야 한다면
배열을 통으로 날리고 다시 만들어야 합니다.

0

설류희님의 프로필

설류희

질문자

2020.12.28

상세하고 친절한 답변 감사합니다^^