해결된 질문
작성
·
165
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