Array

Lee·2023년 12월 12일
0

Array

정의

연속된 메모리에 동일한 자료형의 데이터를 저장하는 선형 데이터 구조

특징

  • 인덱스 기반
    • index를 통한 random access 가능
    • index는 고유한 값이며 대부분 0부터 시작한다.
  • 고정된 크기
    • 배열은 생성할 때 지정한 크기를 변경할 수 없다.
  • 연속적인 메모리 할당
    • 고정된 크기의 데이터를 메모리에 연속적으로 저장

장점

  • 조회 속도가 빠르다
    • index를 사용해 O(1)의 시간복잡도를 가진다.
  • 메모리 효율
    • 배열 생성 시 연속적인 메모리를 할당하기 때문에 효율적이다.

단점

  • 삽입/삭제 속도가 느리다
    • 삽입/삭제의 경우 데이터의 이동이 필요할 수 있다
    • O(n)의 시간 복잡도를 가진다.

배열의 elememt 위치


배열은 연속적인 메모리를 할당하기 때문에 element의 위치를 쉽게 알 수 있다.
elememt의 위치 = base address + offset

base address = index 0인 element의 메모리 주소
offset = index * 데이터크기 (예시는 char 이므로 1byte)

참고자료

geeksforgeeks-what is array

profile
발전하고 싶은 백엔드 개발자

0개의 댓글