inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

기출로 대비하는 개발자 전공면접 [CS 완전정복]

Q. Dynamic Array는 어떤 자료구조 인가요? (외 1문제)

javascript array 는 Dynamic Array 인가요?

해결된 질문

716

dev_traveler

작성한 질문수 2

3

자바스크립트 배열은 길이가 가변적인데 그럼 Dynamic Array 라고 볼 수 있겠죠?

근데 자바스크립트 배열에서 rezise 는 어떻게 이뤄질까요?

doubling 되나요? 그럼 Dynamic Array 의 단점을 가지고 있는건가요?

javascript array 기술면접 운영체제 면접

답변 2

2

선비

안녕하세요 avenJ님 javascript의 배열은 일반적으로 자료구조로 포현되는 array와는 좀 다릅니다

자세한 내용은 이 링크에서 확인해주세요

 

https://poiemaweb.com/js-array-is-not-arrray

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array

2

dev_traveler

선비님, 답변 감사합니다! :-)

선비님께서 주신 링크를 요약하면 아래와 같습니다.

 

1. 강의에서 설명하는 일반적인 배열은 밀집 배열(dense array)이다.

2. 밀집 배열은 동일한 크기의 메모리 공간이 빈틈없이 연속적으로 나열된 구조다.

3. 이러한 특징으로 밀집 배열은 단 한번의 연산으로 임의의 요소에 접근할 수 있다. (random access의 시간 복잡도 O(1))

4. 자바스크립트의 배열은 일반적인 배열의 동작을 흉내낸 특수한 객체(해시 테이블로 구현된 객체)다.

5. 배열의 요소를 위한 메모리 공간이 동일한 크기를 갖지 않아도 되고, 연속적으로 이어져 있지 않을 수도 있다.

6. 이러한 특징으로 자바스크립트의 배열은 인덱스로 배열의 요소에 접근하는 경우, 일반적인 배열보다 성능적인 면에서 느릴수 밖에 없는 구조적인 단점을 갖는다.

7. 하지만 특정 요소를 탐색하거나 삽입/삭제 하는 경우, 일반적인 배열보다 빠른 성능을 기대할 수 있다. (자바스크립트는 random access 성능 보다 탐색/삽입/삭제 경우의 성능을 택함)

8. 모던 자바스크립트 엔진은 배열을 일반 객체와 구별하여 보다 배열처럼 동작하도록 구현했다.

 

0

개발남노씨

좋은 질문과 좋은 답변 감사드립니다!!

Open addressing을 사용할 때의 worst case

1

464

1

인터넷 계층과 네트워크 엑세스 계층

1

491

1

패킷이란

1

423

1

Linked list의 장점

1

651

1

노션 자료 이메일 잘못 입력했어요..

1

546

1

동기화 문제

1

502

2

프로세스 관련 질문

1

573

1

노션 전자 책 동영상 문제

1

475

1

안녕하세요 강사님!

1

337

1

노션 공유 요청

1

357

1

Linked List 시간 복잡도

3

750

1

thread의 PC register 질문

1

716

2

hash table의 seperate chaining 질문

0

385

2

인덱스 카디널리티 부분 질문이있습니다.

2

1184

2

프론트엔드 면접준비 질문

0

546

1

시간복잡도

1

268

1

쿠키 질문

0

310

1

쓰레드의 단점 중 궁금한 것이 있습니다.

0

260

1

URL을 주소창에 쳤을 때 화면에 나오기까지의 과정에 대해 추가적으로 궁금합니다.

1

433

1

궁금한게 있습니다

0

204

0

강의자료 HTTP 부분 request 단어가 repuest로 되어있습니다

1

221

1

강의가 이해가 잘되네요

1

249

1

syn 과 fin의 데이터 단위가 다른 이유

2

288

1

Circular Queue에 대해서 질문드려요

1

292

1