자료구조 시리즈 2편

2025. 4. 20. 11:13개발이야기

728x90
반응형

배열(Array) 완전 정복

이전 글에서는 자료구조의 전체적인 개념을 다뤘습니다.
이번에는 가장 기본이자 중요한 자료구조, 배열(Array) 에 대해 자세히 알아보겠습니다.


1. 배열이란?

배열은 같은 타입의 데이터를 연속적으로 저장하는 자료구조입니다.

  • 인덱스를 사용해 각 요소에 빠르게 접근할 수 있음
  • 메모리 상에 연속된 공간에 저장됨
  • 고정된 크기(생성 시 크기 결정)

2. 배열의 특징

항목 설명

접근 속도 매우 빠름 (O(1))
삽입/삭제 느림 (중간에 삽입/삭제 시 데이터 이동 필요)
메모리 효율 크기 초과/부족 문제 발생 가능
타입 통일성 모든 요소가 같은 타입이어야 함

3. 배열 사용 예시 (C# 기준)

 배열 선언과 초기화

// 방법 1: 크기만 지정
int[] numbers = new int[5];

// 방법 2: 값과 함께 초기화
int[] scores = { 90, 85, 70, 60, 95 };

// 방법 3: new 키워드와 함께 초기화
string[] fruits = new string[] { "사과", "바나나", "포도" };

 배열 접근

Console.WriteLine(scores[0]);  // 첫 번째 요소 출력 (90)
scores[2] = 75;                 // 세 번째 요소 값 수정

 배열 순회 (for문)

for (int i = 0; i < scores.Length; i++)
{
    Console.WriteLine(scores[i]);
}

 배열 순회 (foreach문)

foreach (var score in scores)
{
    Console.WriteLine(score);
}

4. 실생활 예시로 이해하기

  • 배열 = 좌석 번호가 지정된 극장 의자
    • 좌석 번호(인덱스)를 통해 특정 의자(데이터)에 바로 접근 가능
    • 좌석을 추가하거나 삭제하는 것은 매우 번거로움 (구조 변경 필요)

5. 배열의 한계와 대안

문제점 대안

크기가 고정됨 리스트(List) 사용 (가변 크기)
삽입/삭제가 비효율적 연결 리스트(Linked List) 사용

이번 글에서는 배열(Array) 의 개념, 특징, 코드 사용법까지 정리했습니다.

  • 빠른 접근(O(1))이 최대 장점
  • 삽입/삭제에는 약함
  • 크기가 고정되어 있음

 

728x90
반응형

'개발이야기' 카테고리의 다른 글

자료구조 시리즈 4편  (0) 2025.04.21
자료구조 시리즈 3편  (0) 2025.04.21
자료구조 시리즈 1편  (0) 2025.04.20
[C#] WinForms 파일 관리 앱 최종  (0) 2025.04.19
[C#] WinForms 파일 관리 앱 확장 6  (0) 2025.04.19