자료구조 Data Structure


  • 컴퓨터와 관련하여 자료구조는 나중에 필요할 때 데이터를 쉽게 검색하고 효율적으로 사용할 수 있도록 컴퓨터 메모리에 데이터를 저장하고 구성하는 특정 방법이다.

  • 특정 데이터 조직에 대한 논리적 또는 수학적 모델을 데이터 구조라고 하고 데이터는 다양한 방법으로 관리할 수 있습니다.

  • 선형 자료구조 ( 한 줄로 자료를 관리 )

    • 배열 Array

    • Queue

    • 스택 Stack

    • 연결리스트 LinkedList

  • 비선형 자료구조

    • 트리 Tree

    • Heap

    • 그래프 Graph

    • 해쉬테이블 Hash Table



배열 Array


  • 같은 타입의 변수들로 이루어진 집합이다.

  • 선형으로 데이터를 관리한다.

  • 정해진 크기의 메모리를 먼저 할당받아 사용한다.

  • 자료의 물리적 위치와 논리적 위치가 같다.

  • 배열을 구성하는 각각의 값을 배열의 요소element라고 한다.

  • 배열에서의 위치를 인덱스index라고 한다.

  • 자바에서 인덱스는 0을 포함한 양의 정수이고 첫 인덱스는 0이다.

  • 배열은 1차원, 2차원, 다차원으로 선언할 수 있다.

  • 장점

    • 인덱스로 데이터에 빠르게 접근이 가능하다.
  • 단점

    • 데이터의 추가, 삭제가 어렵다.
  • ArrayList

    • Java에서는 ArrayList 클래스를 통해 가변길이의 배열 자료구조 기능을 제공한다.

    • 데이터의 추가add(), 삭제remove() 등의 기능들을 제공한다.

    • primitive type이 아닌 wrapper type을 사용한다.

int[] array1 = {1,2,3};
System.out.println(array1[0]); // 1

int[] array2 = new int[3];
array2[0] = 1;
System.out.println(array2[0]); // 1

// 배열의 내용을 출력할 때 Arrays.toString() 을 사용하면 아래와 같이 출력할 수 있다.
import java.util.Arrays;
System.out.println( Arrays.toString(array1) ); // [1, 2, 3]
profile
real.great.code

0개의 댓글