Search
Duplicate

C#/ Linked List

Linked List의 개념

자료구조에서 배열은 초기화할 때 메모리 크기가 정해지기 때문에 메모리 관리에 뛰어나고 사용도 쉽지만 유연함이 떨어진다. 이에 반해 연결 리스트는 연결이 언제 추가, 삭제될지 모르기 때문에 메모리 상에 이곳저곳에 퍼져있게 되어 메모리 관리의 효율성은 떨어지지만 새로운 연결을 추가하거나 기존 연결을 삭제하는 유연함은 대단히 높다.
연결 리스트는 자기 자신의 데이터 + 다음 노드의 포인터로 구성되는데, 그 포인터를 이용해서 순차적인 리스트를 구성한다.

C#에서의 Linked List

C#에서는 LinkedList<T> 를 통해 연결 리스트를 사용할 수 있다. AddFirst(), AddLast(), AddAfter(), AddBefore() 등 연결 리스트의 기본적인 개념을 이용한 메서드들이 제공되고 있는데, 기본적으로 List<T> 보다 성능이 떨어지므로 List<T>를 사용하는 것을 권장한다.
연결리스트는 개념만 이해하면 좋을 듯.