045_링크드리스트(LinkedList)

Jan 09, 2024
045_링크드리스트(LinkedList)

LinkedList

  • 각 원소가 링크로 연결되어 있다.
  • 중간에 데이터의 삽입이나 삭제가 빈번히 발생하는 경우 효율적이다. → 삽입 삭제되는 위치의 바로 앞에 있는 원소의 링크 값만 변경한다.
  • 단점으로는 위치(인덱스)를 가지고 원소를 접근하는 연산은 오래 걸린다. → 위치 접근이 많다면 ArrayList가 더 좋다.
기본 사용 방법은 앞의 단원인 벡터와 ArrayList와 동일하므로 앞을 참고하자!

ArrayList vs LinkedList

  • 원소의 삭제나 추가를 빈번히 할 때는 LinkedList를 사용하는 것이 좋다. → 이유는? 연산 시 ArrayList는 원소의 개수에 비례하여 시간이 소모 되어 비효율적이다. → 하지만, 반대로 인덱스를 가지고 접근할 경우 ArrayList가 훨씬 효율적이다.
  • ArrayList는 튜닝 매개 변수를 가지지만 LinkedList는 튜닝 매개 변수가 없다. → LinkedList는 튜닝 매개 변수가 없는 대신 몇 가지 메소드를 가지고 있다. → addFirst(), getFirst(), removeFirst(), addLast(), getLast(), removeLast()
💡
튜닝 매개 변수란 무엇인가? 초기 용량(initial capacity)이 그것으로 확장되기 전에 ArrayList가 저장할 수 있는 원소의 개수를 말한다.
 
Share article
RSSPowered by inblog