리스트의 종류인 어레이 리스트와 링크드 리스트에 대해 알아보자
- 배열은 데이터를 논리적 순서에 따라 순차적으로 데이터를 입력하며, 물리적 주소 또한 순차적이다.
EX> 로또 번호를 뽑는다고 가정해보자, 4번부터 12,5,43,27... 이런식으로 뽑았다면
인덱스
를 가지고 있어서 원하는 데이터를 한번에 접근이 가능하기 때문에데이터 접근 속도
가 매우 빠르다.- 단, 배열은 데이터의
삽입/삭제
에는 취약합니다. 배열 특성상 데이터 삽입/삭제가 이루어지면 삽입/삭제가 이루어진 위치의 다음부터 모든 데이터의 위치를 변경해야 한다.- 배열은 사이즈가 고정되어있기 때문에 사이즈를 변경하기 위해선 복사해서 사용하여야한다.
- 연결 리스트는 데이터를 논리적 순서에 따라 데이터를 입력한다. 하지만 물리적 주소는 순차적이지 않음.
- 인덱스를 가지고 있는 배열과는 달리 연결리스트는 인덱스 대신 현재 위치의 이전 및 다음 위치를 기억하고 있다.
장점과 단점
삽입/삭제가 쉽지만 위치 탐색이 오래 걸린다.
- 데이터 삽입/삭제는 논리적 주소만 바꿔주면 되기 때문에 데이터 삽입/삭제는 용이하다.
- 한번에 데이터 접근이 가능하지 않고 연결되어 있는 링크를 따라가야만 접근이 가능하여 배열에 비해 속도가 떨어진다.
- 데이터를 저장하는 공간과 데이터 외적으로 다음 데이터를 가리키는 정보를 저장하기 위한 추가적인 데이터 공간이 필요해 배열에 비해서 메모리를 더 많이 차지한다.
안녕하세요 저는 풀스택 3기 과정중인 김영욱이라고 합니다! 많이 배우고 갑니다 ㅎㅎ