백준/알고리즘 이론정리

[알고리즘 이론] 연결 리스트(Linked List)

전두선 2020. 4. 17. 12:37
연결 리스트(Linked List)

배열과같이 연속적인 메모리 위치에 저장되지 않고 포인터를 사용하여 연결하는 선형 데이터 구조이다. 각 노드는 데이터 필드다음 노드에 대한 참조를 포함하는 노드로 구성이 된다. 

Linked list

  • Linked List(연결 리스트)를 사용하는 이유? 배열은 비슷한 유형의 선형 데이터를 저장하는데 사용할 수 있지만 (1) 배열의 크기가 고정되어 있어서 미리 요소의 수에 대해 할당을 받아야 하는 문제와 (2) 새로운 요소를 삽입하는 것이 비효율적(비용이 많이 듬)이다. 공간을 만들고, 기존 요소를 전부 이동하는..
  • Linked List는 언제든지 붙이고 뗄수있는 동적 크기를 갖고, 삽입/삭제가 용이하다는 장점을 갖는다.
  • Linked List는 임의로 액세스를 허용할 수 없다는 단점이 있다. 즉, 첫 번째 노드부터 순차적으로 요소에 액세스 해야한다. (이진 검색 수행 불가능) 또한 포인터의 여분의 메모리 공간이 목록의 각 요소에 필요하다.

 

내용 추가 예정(200417)

 

코드를 보고 이해