인프런 커뮤니티 질문&답변

Hustleinmablood김용호님의 프로필 이미지
Hustleinmablood김용호

작성한 질문수

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

연결 리스트 구현 연습

링크드리스트 Remove 삭제 질문입니다

작성

·

306

1

MyLinkedList.AddLast로 노드의 마지막에
요소를 추가하는거는 이해가 되었어요!

그리고 삭제할 요소가 있다면
MyLinkedListNode  node = MyLinkedList.AddLast(데이터)
이렇게 노드에 집어넣고
MyLinkedList.Remove(node);
로 삭제하는것도 이해가 되었는데

그럼 링크드리스트의 경우 중간에 삭제해야하는 데이터가 있다면
처음에 여러데이터를 AddLast로 추가하면서

삭제할 데이터만 미리
MyLinkedListNode에 넣으면서 AddLast로 추가하는것인지
궁금합니다


답변 1

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

'빠르게' O(1) 삭제하려면 그렇게 해야 하고,
그게 아니라 좀 느려도 괜찮다면 
그냥 Head부터 서칭해서 삭제할 노드를 찾은 O(N) 다음,
삭제를 진행해야 합니다.

Hustleinmablood김용호님의 프로필 이미지
Hustleinmablood김용호

작성한 질문수

질문하기