자바스크립트 배열
-
[ 선형 자료구조 ] 배열 & 리스트Computer Science/자료 구조 2023. 1. 6. 16:01
1. 배열 1) 개념 배열은 연관된 데이터를 그룹핑해 관리하는 방식의 자료구조이다. 연속적인 메모리 블록에 데이터를 저장하며, 각 항목을 요소(element)라 한다. 배열은 생성될 때 크기가 고정되며, 해당 위치를 결정하는 인덱스를 가진다. 2) 배열의 특징 (1) 장점 각 항목이 고정적인 인덱스를 가지며, 이를 통해서 각 항목의 요소로의 접근이 O(1)의 빠른 시간복잡도를 가진다. 따라서 잦은 접근이 필요한 데이터를 저장하기에 알맞다. 배열의 경우 데이터의 크기가 고정적이고 잦은 접근이 필요한 경우, 혹은 인덱스가 중요한 경우 이점을 가진다. (1) 단점 생성과 함께 사이즈가 고정되기 때문에 요소의 추가/삭제가 자유롭지 못하다. 항목의 데이터를 삭제해도 인덱스 값은 고정되며 메모리상에서 지속적으로 자..
-
[ JS ] JS의 Array와 자료 구조 관점에서 Array의 차이는?문득 든 의문점 2023. 1. 5. 23:07
의문점 선형 자료구조를 공부하면 Array는 크기 및 인덱스가 고정적이며, 데이터의 입출력에 따른 메모리의 최적화가 이루어지지 않음을 알 수 있다. 하지만 JS에서는 Array 생성후 메서드를 통해 크기의 조정이 가능하며 각 요소가 갖는 인덱스 또한 메서드 적용에 따라 변화한다. 자바스크립트에서의 Array는 자료구조에서 배운 Array와 어떤 차이를 갖는 것일까? 결론 자바스크립트에서 배열을 특별한 유형의 객체이다. Array.prototype 을 상속받아 마치 배열과 같이 숫자형 키를 사용해 요소의 순서를 가지며 메모리 공간에서 연속된 자리를 차지한다. 또한 length 프로퍼티, push, pop, shift, unshift 등 순회와 변형에 대한 메서드를 가진다. 즉, 자바스크립트에서의 배열은 배..