배열과 리스트 - oognuyh/algorithm-study GitHub Wiki
연관 문제
배열
배열은 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조
특징
- 인덱스를 통해 값에 접근
- 값을 삽입하거나 삭제하려면 해당 인덱스 주변에 있는 값을 이동시키는 과정이 필요
- 배열의 크기는 선언할 때 지정할 수 있으며, 수정할 수 없음
- 구조가 간단
리스트
노드(값과 포인터를 쌍으로 갖는 기초 단위)라는 것을 포인터로 연결한 자료구조
특징
- 인덱스가 없어 값에 접근하려면 Head 포인터부터 순서대로 접근하므로 배열에 비해 값에 접근하는 속도가 느림
- 포인터로 연결되어 있으므로 데이터 삽입 및 삭제가 배열에 비해 빠름
- 크기를 별도로 지정하지 않으며 크기가 변하기 쉬운 데이터를 다룰 때 적합
- 포인터를 저장할 공간이 필요하여 배열보다 구조가 복잡