본문 바로가기

반응형

Array

(3)
[JAVA] 다차원 배열 배열은 지금까지 예시로 들었던 1차원뿐만 아니라 2차원 이상의 다차원 배열도 선언하여 사용할 수 있다. 메모리의 용량이 허용되는 한에서 차원은 제한이 없지만 주로 1, 2차원의 배열만 사용된다. 1. 2차원 배열의 선언과 인덱스 2차원 배열을 선언하는 방법은 1차원 배열과 같다. 다만 대괄호가 한쌍 추가된다. 선언 방법 예시 타입[][] 변수이름; int[][] arr; 타입 변수이름[][]; int arr[][]; 타입[] 변수이름[]; int[] arr[]; ※ 2차원보다 더 고차원으로 가는 경우 그만큼 대괄호 쌍을 추가해주면 된다. 2차원 배열의 선언과 생성은 다음과 같이 할 수 있다. int[][] arr = new int[2][2]; // 2행 2열의 2차원 배열을 생성한다. 위의 예제를 실행하..
[JAVA] 배열 (Array) 1.배열이란? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 배열이라고 한다. 많은 양의 데이터를 저장하고 이를 다루기 위해 사용한다. 여기서 중요한 것은 같은 타입이어야 한다는 것이며 서로 다른 타입의 변수들로 구성된 배열은 만들 수 없다. 다음과 같이 여러개의 int값을 다루는 경우 여러개를 각각의 변수로 선언하는 것이 아닌 하나의 배열로 묶을 수 있다. // 각각의 변수로 선언 int a1, a2, a3, a4, a5; // 5개의 int 값을 저장할 수 있는 배열 생성 int[] a = new int[5]; 각각의 변수로 선언하게 되면 메모리 상에 서로 다른 5개의 int 값 저장공간이 생성되는데, 배열의 경우 a[0]부터a[4]까지 5개의 int값을 저장할 수 있는 공간이 생성되고 a는 ..
[DS] Array & Linked List 1. Array 가장 기본적인 자료구조로 메모리 상에 같은 타입의 데이터가 연속적으로 저장되어 있다. 이러한 구조는 첫번째 원소의 위치를 기본 index로 offset을 더하여 이어지는 원소들의 위치를 계산하기에 쉽다. 이때문에 array는 논리적 저장순서와 물리적 저장순서가 일치한다. 따라서 index를 통해서 원소에 랜덤하게 접근이 가능하다. 따라서 검색 time complexity 는 O(1) 이다. 검색과 달리 삭제와 삽입 등의 과정에서는 해당 원소에 접근하여 작업을 완료한 후 빈 공간에 대해서 다른 원소들을 shifting 해줘야 하는 cost가 발생하고 이 경우의 시간 복잡도는 O(N)이 된다. 그렇기 때문에 array 값의 삽입, 삭제의 Time complexity는 O(N) 이다. 2. L..

반응형