본문 바로가기

Java/알고리즘

(51)
[자바 알고리즘 인터뷰] 5장 빅오 1. 빅오 - 빅오 표기법이란 입력 크기가 무한대로 향할 때 함수의 상한을 설명하는 수학적 표기 방법으로, 점근적 실행 시간(Asymptotic Running Time)을 표기할 때, 가장 널리 쓰이는 수학적 표기법 중 하나이다. - 점근적 실행시간이란 입력값 n이 커질 때, 즉 입력값이 무한대를 향할 때 lim->무한대 함수의 실행 시간 추이를 의미한다. - 시간복잡도(Time Complexity)의 사전적 정의는 어떤 알고리즘을 수행하는 데 걸리는 시간을 설명하는 계산 복잡도(Computational Complexity)이며, 이와 같은 계산 복잡도를 표기하는 데 대표적인 방법이 바로 빅오다. - 빅오로 시간 복잡도를 표현할 때는 최고차 항만을 표기하며, 계수는 무시한다. - 시간 복잡도를 표기할 때..
[자바 알고리즘 인터뷰] 4장 자료형 1. 자바 자료형 1) 원시 자료형 - 원시형은 메모리에 정확하게 형(Type) 크기만큼의 공간을 할당하고 그 공간을 오로지 값으로 채워 넣는다. 자료형 크기 설명 byte 1바이트 -2^7 ~ 2^7-1 1short 2바이트 -2^15 ~ 2^15-1 int 4바이트 -2^31 ~ 2^31-1 long 8바이트 -2^63~ 2^63 -1 float 4바이트 4바이트의 실수를 표현 double 8바이트 8바이트의 실수를 표현(자바의 기본 실수형) boolean 1비트 참 또는 거짓 char 2바이트 단일 문자를 저장 ex) - 메모리 특정 영역에 4바이트를 할당하고, 그 곳에 7이라는 값을 채워 넣게 된다. int a = 7; 2) 참조 자료형 - 원시형이 아닌 자료형 - 원시형은 자바 메모리 모델에서 ..
[자바 알고리즘 인터뷰] 2장 자바 1. 자바의 주요 특징 1.1 객체 지향 프로그래밍 1) 캡슐화 - 속성과 행위를 외부와 분리하는 개념 - 속성을 변수에, 행위를 메소드에, 캡슐을 클래스에 빗댈 수 있다. - 외부 코드가 데이터에 직접 접근하지 못하도록 방어막 역할을 하고 내부 상태로는 private으로, 외부에는 public 메소드를 노출하여 정보를 은닉(Information Hiding)할 수 있다. ex) Setter/Getter 메소드를 이용한 캡슐화 - name 변수에 직접 접근하지 않고 반드시 setName() 메소드로 변경을, getName() 메소드로는 조회를 진행하는 방식 public class Encapsulation { private String name; public String getName() { return ..