[자료 구조] 배열(Array)

Eunjin·2023년 4월 20일
0

배열이란?

배열(Arrary)은 동일한 데이터 타입을 갖는 데이터의 집합

메모리상에서 연속된 공간에 할당되어 있으며, 각 요소는 인덱스를 통해 접근할 수 있음

배열을 구성하는 각각의 값을 배열 요소(element)라고 하며, 배열에서의 위치를 가리키는 숫자는 인덱스(index)라고 함

배열의 이름은 배열의 첫 번째 요소와 같은 주소를 가리키고 있음

int[] odds = {1, 3, 5, 7, 9};

배열의 특징

  1. 길이: 배열의 길이는 초기화할 때 결정됩니다. 한번 결정되면, 배열의 크기를 동적으로 변경할 수 없습니다.
  2. 인덱스: 배열의 요소는 0부터 시작하는 인덱스를 통해 접근할 수 있습니다.
  3. 동일한 데이터 타입: 배열의 모든 요소는 동일한 데이터 타입을 갖습니다.
  4. 연속된 메모리 공간: 배열은 연속된 메모리 공간에 할당됩니다. 이는 인덱스를 통해 O(1)의 시간 복잡도로 요소에 접근할 수 있는 이유입니다.

장점

  • 빠른 접근 속도: 인덱스를 사용하여 O(1)의 시간 복잡도로 요소에 접근할 수 있습니다.
  • 메모리 공간 효율: 연속된 메모리 공간을 사용하기 때문에, 요소를 저장하는 데에 추가적인 공간이 필요하지 않습니다.

단점

  • 크기 변경의 어려움: 정적 배열은 한 번 생성된 크기를 변경할 수 없습니다. 동적 배열은 크기 변경이 가능하지만, 크기를 변경하는 데에는 추가적인 비용이 듭니다.
  • 요소 삽입/삭제의 어려움: 배열은 연속된 메모리 공간을 사용하기 때문에, 요소를 삽입하거나 삭제하는 것은 복잡합니다. 요소를 삽입하거나 삭제하면, 모든 요소를 이동해야 하기 때문입니다.

참고 : https://hongong.hanbit.co.kr/java-자바-배열array-선언하고-생성하기/

0개의 댓글

관련 채용 정보