inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

연결 리스트 구현 연습

연결리스트 시간복잡도 관련 질문드립니다.

해결된 질문

541

박성훈

작성한 질문수 12

0

MyLinkedList를 제작하면서 C#의 LinkedList의 시간복잡도는 결국 O(1)로 실행되는 것인데,

만약 해당 List를 사용하면서 특정한 값을 찾거나, 제거하고자 할때, 연결리스트의 경우 해당 지점으로 바로 이동할 수단이 없어 Head 부분에서 Tail까지 순차적으로 탐색하여 찾는 방법이기에 O(N)이 시간복잡도가 되어버린다는 것인데, 그렇다면 기존에 말씀하셨던 어떠한 용도로 사용하느냐에 따라 알고리즘의 시간복잡도가 바뀔수 있다는 점이 이 부분에서 나타났다고 보면 될까요?

추가로, 기존에 연결 리스트의 장점으로는 다른 배열과는 다르게 중간에 추가로 방을 생성 할 수 있다는 장점이 있다고 하셨는데, 해당 기능을 어떻게 구현할지는 알겠는데 C# LinkedList의 빠른 함수?(AddLast같은)로 정의된 것은 없을까요?

또한 중간 지점에 값을 넣는 경우도 이전 동적 배열에서 사례와 같이 최악의 경우를 고려해야 하므로 이 기능또한 구현한다면 O(N)으로 생각하면 될까요?

C#

답변 1

0

Rookiss

어떠한 용도라기 보다는, 어떻게 사용하는지에 따라 달라지긴 하죠.
말 그대로 연결 리스트는 아무 조건 없이 O(1)이 아니지만,
보통 연결 리스트를 사용할 땐 이런 부분을 사용자가 고려해서 작업한다 가정합니다.

image
그 외 부분은 꼭 구글을 통해서 답을 찾아보시기 바랍니다.
구글링은 아무리 강조해도 부족한 정말 중요한 스킬이고
하면 할 수록 요령이 늘어납니다.

0

박성훈

감사합니다 ^^

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

0

180

2

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

0

89

1

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

0

68

1

parent를 Pos타입으로 만든 이유

0

74

1

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

0

137

1

격자 생성 안됨 무한루프

0

114

1

BFS 질문

0

144

2

격자 무한 출력

0

169

2

A* 의 PriorityQueue 관련 질문입니다

0

157

2

vscode에서 원그리기

0

184

1

환결설정 강의 원 그리기

0

123

1

15-17분

0

88

1

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

0

142

2

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

0

209

1

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

0

167

1

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

0

153

1

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

0

143

1

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

0

177

1

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

0

273

1

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

0

203

2

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

0

230

1

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

3

317

2

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

0

246

2

맵 만들기 오류

0

180

1