ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 배열
    Data Structure & Algorithm 2022. 3. 20. 23:45

    정의

    연관된 데이터를 연속적인 형태로 저장하는 자료구조


    특징

    • 배열에 포함된 원소는 순서대로 번호(index)가 붙음
    • 원하는 원소의 index를 알고 있다면 배열 내의 원소를 찾을 수 있음
    • 배열 내 원소를 삭제하면 해당 index에 빈자리가 생김
    • 고정된 크기를 가지며 일반적으로는 동적으로 크기를 변경할 수 없음
      => JS 등의 스크립트 언어에서는 배열의 크기가 가변적인 경우가 많음
    • 배열에 원소 추가/삭제 시 O(n) 이 소요됨
      => 추가/삭제가 반복되는 로직에는 배열 사용이 권장되지 않음
    • 탐색이 많은 경우에 유리

    Javascript 에서 배열 사용 시 유의할 점

    • 배열 내 원소의 추가/삭제 시 사용되는 splice 의 경우 O(n) 의 시간복잡도를 가짐
    • 배열의 크기가 가변적
    • 자바스크립트의 배열은 기본적으로 객체 타입
      => index가 number 가 아닌 경우 key-value 로 처리
    • 배열과 객체가 다른 점은 배열의 경우 내부적으로 length 가 관리됨
      => index가 number 가 아닌 경우 length 에 영향을 미치지 않음

    Array.from 메서드로 range 함수 만들기

    const range = (length) => Array.from(new Array(length), (_, index) => index + 1);
    
    const toTen = range(10);
    
    console.log(toTen); // (10) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

    Length 직접 조작하기

    const toTen = range(10);
    
    toTen.length = 5;
    console.log(toTen); // [1, 2, 3, 4, 5]
    
    toTen.lengh = 10;
    console.log(toTen); //  [1, 2, 3, 4, 5, lengh: 10]

     

     

    'Data Structure & Algorithm' 카테고리의 다른 글

      (0) 2022.03.24
    스택  (0) 2022.03.23
    객체  (0) 2022.03.21
    Big-O 표기법  (0) 2022.03.20
    자료구조란?  (0) 2022.03.20

    댓글

Designed by Tistory.