array 2

[Javascript] 자바스크립트의 배열 (Array)

자바스크립트의 배열 (Array of Javascript) 자바스크립트의 배열은 사실 우리가 아는 일반적인 배열이 아니다. 자바스크립트의 배열은 해시 테이블로 구현된 객체이며 요소들끼리 메모리상으로 나란히 위치하지도 않는다. 배열을 생성한 후 typeof를 통해 그 타입을 출력하면 'object'가 반환됨을 확인할 수 있다. 또한 객체의 모든 프로퍼티들에 대한 정보를 보여주는 Object.getOwnPropertyDescriptor( ) 메소드를 활용하면 자바스크립트의 Array는 인덱스와 length를 프로퍼티 키로 가지는 Object임을 확인할 수 있다. 그렇기 때문에 자바스크립트 객체에 들어가는 요소들은 서로 연속되어 위치하지도 않으며 서로 동일한 타입이 들어가지 않아도 된다. (파이썬의 list와..

[자료구조] 리스트 (List)

리스트 (List) 리스트는 가장 대표적인 자료구조 중 하나로 Array, List, Stack, Queue 등과 함께 데이터에 순서가 존재하는 선형 자료구조(Linear Data Structure)에 속한다. (참고로 비선형 자료구조에는 Tree, Graph, Set 등이 존재한다.) 리스트의 구현 방법 리스트를 구현하는 방법에는 크게 두 가지 방법이 존재한다. 논리적으로만 데이터를 연속하게 저장하는 방법이 있고 두 번째는 물리적으로도 데이터를 연속하게 저장하는 방법이다. 1. ArrayList ArrayList는 데이터를 논리적 순서에 따라 물리적 메모리에 연속해서 저장한다. 메모리 중간에 빈 공간이 존재하면 안되기 때문에 데이터를 중간에 삽입하거나 삭제할 경우 데이터 위치를 재조정하는 작업이 필요하..