Array VS ArrayList VS LinkedList

김민성·2023년 3월 4일
0

자료구조

목록 보기
2/10

Array

: index로 빠르게 값을 찾는 것이 가능함

선언할 때 크기와 데이터 타입을 지정해야 함

  • 데이터가 계속 늘어날 때, 최대 사이즈를 알 수 없을 때는 부적합
  • 데이터 삽입, 삭제 비효율
    • 삽입 시 원래 값을 뒤로 밀어내고 해당 index에 덮어써야 함. 사이즈를 정해놓았기 때문에 문제가 발생할 수 있음

LinkedList

: 데이터의 삽입 및 삭제가 빠름

크기를 정해주지 않아도 됨, List에서는 순서가 중요(Array는 index가 중요)

  • 크기가 정해지지 않아 삽입, 삭제 시 Array에서 발생하는 문제 해결 가능
  • 데이터를 삽입, 삭제 시 시간이 오래 걸리는 단점

ArrayList

: 데이터를 찾는 데 빠르지만, 삽입 및 삭제가 느림

단일, 다중 등 여러 가지 존재

종류가 무엇이든 한 노드에 연결될 노드의 포인터 위치를 가리키는 방식

→ 단일 : 뒤 노드만 가리킴 / 다중 : 앞 뒤 노드 모두 가리킴

  • 삽입, 삭제 시 전체를 돌지 않아도 이전 값과 다음 값이 가리켰던 주소 값만 수정하여 연결하면 되기 때문에 빠름
  • List에서 k 번째 값을 찾는 경우 비효율적
    • index가 없기 때문에 처음부터 탐색해야 함

0개의 댓글