inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘

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

해결된 질문

225

설류희

작성한 질문수 1

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 });

C#

답변 2

2

Rookiss

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

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

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

0

설류희

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

게임개발에서 주로 어느부분에 알고리즘들이 쓰이는지 궁금합니다

0

170

2

글꼴 바꿔도 자간이 좁아 찌그러져보이시는 분들

0

87

1

NullReferenceException 예외) 같은 실수하시는분 계실까봐 남겨요

0

66

1

parent를 Pos타입으로 만든 이유

0

74

1

콘솔창에 격자가 안나옴 미로 생성 X

0

133

1

격자 생성 안됨 무한루프

0

113

1

BFS 질문

0

143

2

격자 무한 출력

0

166

2

A* 의 PriorityQueue 관련 질문입니다

0

155

2

vscode에서 원그리기

0

179

1

환결설정 강의 원 그리기

0

122

1

15-17분

0

86

1

3:16초에 근데 이렇게 해가지고 부분에 "{}"를 만들어서 자식 node들을 생성하던데 왜 중괄호로 감싸게 만드는 건가요?

0

141

2

동적 배열 관련 질문입니다!

0

209

1

Big-o 표기법에서 시간 복잡도

0

167

1

7:40에서 언급하신 색상이 날아가는 문제 이해를 못하겠습니다

0

151

1

트리구현연습 강의 질문있어요

0

142

1

창은 뜨는데 맵이 나타나지 않아요.

0

174

1

Ctrl F5 하면 나오는 창은 어디서 설정할까요??

0

271

1

void CalcPathFromParent(Pos[,] parent)에 대해서

0

202

2

NullReferenceException예외가 발생했을때 어떻게 해야하나요?

0

228

1

[해결] 환경설정 강의에서 원이 이상하게 그려지는 문제

3

309

2

오른손 법칙에서 플레이어 점이 안 움직입니다

0

243

2

맵 만들기 오류

0

178

1