[JAVA] 자료구조와 함께 배우는 알고리즘 - 자료구조

선뀰·2023년 12월 15일
0

JAVA

목록 보기
6/25
  • 자료구조 ?
    데이터 단위와 데이터 자체 사이의 물리적 또는 논리적인 관계

1. 배열이란?

기본적이고 간단한 자료구조

  • 배열 선언 : 배열 변수 이름[인덱스]
    int[] a;
    a = new int[5]; // new를 사용하여 배열 본체를 생성하고, 배열 변수 a와 연결한다.

1) int[] a = new int[5]; // 주로 이렇게 선언한다.
a[1] = 37;
a[2] = 51;
a[3] = a[1] * 2; // 74를 대입한다.

2) int array[] = new int[5];
이렇게도 생성 가능

  • 배열의 길이 : 배열 변수 이름.length
1) int[] a = {1, 2, 3, 4, 5}; // 배열 초기화에 의해 생성
2) int[] a = new int[] {1, 2, 3, 4, 5};
3) int[] a = new int[5];
for (int i=0; i<5; i++){
	a[i] = i+1;
}

        for (int i = 0; i < a.length; i++) {
            System.out.println("a[" + i + "] = " + a[i]);
        }

2차원 배열 생성

int[][] a = new int[5][5];
int array[][] = new int[5][5];

- java.util.Arrays 패키지 사용

import java.util.Arrays; 패키지를 사용해야 가능한 기능들이 있다.

1) 배열을 출력

int[] a = new int[] {1,2,3,4,5}
Arrays.toString(a); 메소드를 사용하여
[1,2,3,4,5]가 출력된다.

2) 배열 정렬

Arrays.sort(a);
오름차순 정렬 기능이다.
시간복잡도 : O(nlogn), 최악O(n^2)으로 퀵 정렬보다 빠른 알고리즘을 사용한다.

3) 배열 검색

Arrays.binarySearch(a, 3)
a배열에서 숫자 3이 들어있는 index를 return한다.

4) 배열 비교

Arrays.equals(a, b)
배열 a와 b가 같으면 true, 다르면 false를 return한다.

5) 배열 채우기

Arrays.fill(a, 2)
a를 모두 2로 채워준다.

- 접근 제한자

객체 멤버에 대한 접근을 제한, 접근 제한자라고 한다.

  • 접근 제한자의 종류
    public: 모든 접근 허용
    protected: 같은 패키지(폴더)의 객체, 상속 관계 객체 허용
    default: 같은 패키지(폴더)의 객체 허용
    private: 현재 객체 안에서만 허용

  • 접근 제한자 사용
    클래스 : public, default
    생성자 : public, protected, default, private
    멤버 변수 : public, protected, default, private
    멤버 메서드 : public, protected, default, private
    지역 변수 : 접근 제한자를 사용할 수 없다.

2) 난수의 생성

import java.util.Random;

Random rand = new Random(); // random함수를 생성한다.
Random rand = new Random(n);
Random클래스의 인스턴스 생성은 둘 중 하나로 수행된다.

3) 배열 요소를 역순으로 정렬하기

for (int i = 0; i< n / 2; i++)
배열을 역순으로 정렬하려면 두 안의 요소를 교환해야 한다.
t = x; x값을 t에 보관한다.
x = y; y값을 x에 대입한다.
y = t; t에 보관한 처음 x값을 y에 대입한다.

2. 클래스란?

profile
공부 기록

0개의 댓글