반응형

02-1 배열

자료구조 data structure : 데이터 단위와 데이터 사이의 물리적 또는 논리적인 관계

 

배열 array 

배열은 같은 자료형의 변수로 이루어진 구성요소component가 모인 것입니다.

 

구성요소

구성 요솟수(길이)

 

배열의 구성 요소는 자동으로 0으로 초기화 되는 규칙이 있습니다.

 

배열의 복제 

a.clone()

 

주사traverse: 배열의 요소를 하나씩 차례로 살펴보는 과정을 알고리즘 용어 

 

Random클래스의 인스턴스는 일련의 의사 난수를 생성합니다.

난수는 무에서 생성되는 것이 아니라 seed이라는 수의 값을 바탕으로 여러 연산을 수행하여 얻습니다

 

배열 a의 최댓값 구하기

static int maxOf(int[] a){

  int max = a[0];

  for (int i = 1; i < a.length;i++)

    if (a[i] > max)

      max = a[i];

  return max;

}

 

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

 

static void swap(int[] a, int idx1, int idx2){

  int t = a[idx1];

  a[idx1] = a[idx2];

  a[idx2] = t;

}

 

static void reverse(int[] a){

  for(int i = 0; i <a.length/2; i++)

    swap(a, i, a.alength-i-1);

}

 

두 배열의 비교

static boolean equals(int[] a, int[] b){

  if(a.length != b.length)

    return false;

  for (int i = 0; i < a.length;i++)

    if(a[i] != b[i])

      return false;

 

  return true;

}

 

기수 변환

정수값을 임의의 기수로 변환하는 알고리즘 

기수: 수를 나타내는데 기초가 되는 수

서수 사물의 순서를 나타내는 수 

static int cardConvR(int x, int r, char[] d){

  int digits = 0;

  String dchar = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

 

  do {

    d[digists++] = dchar.charAt(x%r);

    x /= r;

   }while(x != 0);

   return digits;

}

 

전위형 증가 연산자 ++a

++를 앞에 놓으면 식 전체를 평가하기 전에 피 연산자의 값을 증가시킵니다.

후위형 증가 연산자 a++

++를 뒤에 놓으면 식 전체를 평가한 후에 피연산자의 값을 증가시킵니다.

 

다차원 배열: 

int[][] x = new int[2][4]

2행 4열

 

서기 year년은 윤년인가?

static int isLeap(int year){

  return (year % 4 == 0 && year $ 100 != 0 || year % 400 == 0 ) ? 1:0;

}

 

02-2클래스

클래스: 여러 형의 요소를 조합하여 만든 자료구조 

필드 filed데이터 요소

 

공개클래스 : 클래스 접근 제한자 public을 붙여 선언한 클래스로 , 다른 패키지에서 사용할 수 있는 것

final 클래스 : 클래스 접근 제한자 final을 붙여 선언한 클래스로 , 서브 클래스를 가질 수 없습니다. 

(새로운 클래스를 상속할 수 없습니다.)

파생클래스 :

  direct superclass

  direct subclass

 

추상클래스 : abstract

 

중첩클래스 : nested class

 

 

출처 : Do it ! 자료구조와 함께 배우는 알고리즘 입문 자바편

 

반응형

' > Do it! 자료구조와 함께 배우는 알고리즘 입문 자바편' 카테고리의 다른 글

07. 집합 08. 문자열 검색  (0) 2020.09.13
06. 정렬  (0) 2020.08.30
04. 스택과 큐 05. 재귀 알고리즘  (0) 2020.08.27
03. 검색  (0) 2020.08.25
01. 기본 알고리즘  (0) 2020.08.22

+ Recent posts