웅쓰뚱쓰
웅쓰의 IT
웅쓰뚱쓰
  • 분류 전체보기 (127)
    • 프로그래밍 (31)
      • 자료구조&알고리즘 (12)
      • Django (1)
      • NAS (3)
      • python (1)
      • Java (2)
      • Kotlin (0)
      • 안드로이드 (0)
      • 백준 (6)
      • 프로그래머스 (1)
      • 블록체인 (4)
    • IT (57)
      • 스마트폰 (30)
      • 모바일 (3)
      • 기타제품 (9)
      • 기타기술 (10)
      • 소식 (5)
    • 꿀팁 (1)
      • 윈도우10 (1)
    • 리얼후기 (4)
      • 제품리뷰 (2)
      • 일상리뷰 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 화웨이
  • 동적배열
  • vr
  • 삼성
  • LG
  • 이더리움
  • 앱 만들기
  • 패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #Android앱개발올인원패키지Online
  • 아마존
  • 폴더블폰
  • 블록체인
  • 백준
  • 안드로이드 스튜디오
  • 블랙프라이데이
  • 안드로이드

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
웅쓰뚱쓰

웅쓰의 IT

리스트는 사실 배열?(2/3) - 정적 배열과 동적 배열
프로그래밍/자료구조&알고리즘

리스트는 사실 배열?(2/3) - 정적 배열과 동적 배열

2021. 9. 6. 00:00


정적 배열

 

정적 배열은 크기가 고정되어 있는 배열이다

 

일반적으로 그냥 배열이라고 부르는 배열은 정적 배열이다

 


길이가 4인 배열에 값이 다 저장되어있는 상황

 

여기에 새로운 값 5를 넣고 싶으면 어떻게 해야 할까

 

 

길이가 5인 새로운 배열을 만들고

 

기존의 데이터들을 새로운 배열에 옮긴 뒤

 

5를 저장하면 된다

 

 

그런데 이는 너무 비효율적이다

 


그냥 배열 뒤에 넣으면 안 돼?

 

배열을 정의하게 되면 메모리에서 쓸 수 있는 공간을 찾아서

 

저장하려고 하는 데이터 타입과 저장하려는 데이터 수에 따라 연속적인 공간이 정해진다

 

우리는 배열 바로 뒷부분이 어떤 공간인지 모른다

 

사용해도 되는 공간인지 알 수 없기 때문에 배열 바로 뒤에 5를 추가하게 되면 위험하다

 

 

위험성을 예방하기 위해서 배열은 미리 공간을 고정해 놓는 것이다

 

그렇다고 해서 배열을 너무 크게 정의하면 안 된다

 

 

공간이 낭비되기 때문이다

 


동적 배열

 

동적 배열은 상황에 따라서 크기가 바뀌는 배열이다

 

동적 배열은 정적 배열을 이용해서 만든 배열이다

 

동적 배열이 꽉 찼을 때 새로운 값을 추가하려고 하면

 

기존에 있던 배열보다 큰 배열을 만든다

 

예를 들어 두 배만큼 큰 배열을 만들었다고 하자

 

 

 

 

그러면 기존 배열에 있던 데이터들을 새로운 배열에 복사하고

 

새로운 데이터를 저장하게 된다

 

배열이 또 꽉 차게 되면 또 새로운 큰 배열을 만들고 값을 복사하게 된다

 

상황에 맞게 배열의 크기를 조절하는 것이다


 

'프로그래밍 > 자료구조&알고리즘' 카테고리의 다른 글

더블리 링크드 리스트 연산의 시간 복잡도  (0) 2021.10.02
싱글리 링크드 리스트 연산의 시간 복잡도  (0) 2021.09.28
시간복잡도 분할 상환 분석(동적 배열의 추가 연산)  (0) 2021.09.25
리스트는 사실 배열?(3/3)  (0) 2021.09.11
리스트는 사실 배열?(1/3) - 배열과의 차이점  (0) 2021.09.04
    '프로그래밍/자료구조&알고리즘' 카테고리의 다른 글
    • 싱글리 링크드 리스트 연산의 시간 복잡도
    • 시간복잡도 분할 상환 분석(동적 배열의 추가 연산)
    • 리스트는 사실 배열?(3/3)
    • 리스트는 사실 배열?(1/3) - 배열과의 차이점
    웅쓰뚱쓰
    웅쓰뚱쓰

    티스토리툴바