Doit/그림으로 쉽게 배우는 자료구조와 알고리즘
[자료구조] 배열
prettyNoona
2023. 6. 10. 12:52
1. 배열 _ 일반
- 원리
사용자가 배열을 선언하면 선언한 데이터의 길이만큼 메모리에 연속된 공간을 할당
- 장점
배열의 인덱스 참조는 길이에 상관없이 한번에 가져오기 때문에 O(1)의 성능을 가진다.
따라서, 읽기/쓰기, 즉 참조에서 좋은 성능을 보인다.
- 단점
사용자가 추가적인 길이만큼 재요청할 경우 연속된 공간을 찾아 중복된 데이터와 늘어난 공간을 다른 메모리에 복사를 해줘야한다.
따라서, 배열의 크기를 넉넉하게 선언하여도 사용하지 않는 공간은 메모리 낭비 문제를 야기한다.
배열은 데이터를 추가/제거 하려면 내부적으로 필요한 단계가 많아 성능이 좋지 않다.
2. 배열 _ 자바스크립트
- 원리
사용자가 배열을 선언하면 선언한 데이터의 길이만큼 메모리에 불연속된 공간을 할당
내부적으로 데이터를 연결하여 사용자에게는 배열로 보인다.