Study(16)
-
Data Structure - Analysis of Algorithms (알고리즘 분석 방법)
이 글은 PC기준으로 작성되었습니다. 1. Running Time - 알고리즘의 실행 시간은 보통 입력의 양이 많아질수록 길어짐 - 평균 알고리즘 실행 시간을 구하는 것은 어려움 - 때문에 우리는 최악의 상황을 고려해서 알고리즘의 실행 시간을 분석함 2. Theoretical Analysis 1) 특징 - 직접 실행하지 않고 분석하는 기술 - input size n 에 따라 Running Time 특징지음 - 가능한 모든 input 고려 - 하드웨어 / 소프트웨어 성능과 관계없이 알고리즘 처리속도 평가가능 2) 7가지 중요한 함수 (이론적 분석시 자주 사용) 3) Counting Primitive Operations 엄밀하게 일일히 각 과정이 몇 번 발생하는지를 세리는 기술같다. 아래의 예를 보자 각 과..
2020.03.06 -
Java 프로그래밍 기초 2 - 변수와 자료형
1. 변수 - 변수란? : 데이터(자료)를 임시로 담을 수 있는 상자 (메모리 공간) - 선언 및 초기화 : int i = 10과 같이 자료형(int), 변수 이름(i), 대입연산자(=), 변수값(10) 의 구조로 C언어와 동일 - 대입 : 변수에 저장된 데이터는 언제든지 변경 가능 int i = 0; System.out.println("num = " + num); // 0 출력 i = 100; System.out.println("num = " + num); // 100 출력 2. 자료형 1) 기본 자료형과 객체 자료형 - 기본 자료형 : 데이터가 변수에 직접 저장 - 객체 자료형 : 객체 메모리의 주소가 변수에 저장 ( C 계열 - pointer, Java - Reference) 2) Javad의 기본..
2020.03.06 -
Java 프로그래밍 기초 1 - Java란? / 기초 개발 환경 설정하기
1. 자바의 장점과 단점 초창기 Java 단점) - 기존 C/C++에 비해 느린 속도 - 리소스(메모리, CPU)를 많이 사용 발전된 현재 Java의 장점) - 객체 지향 언어: 기능의 부품화 - JRE(Java Resource Environment)의 이용 : OS로부터의 자유로움 - 웹, 모바일 프로그래밍 용이 - GC(Garbage Collector, Java의 메모리 관리 알고리즘)를 통한 자동 메모리 관리 - 실행 속도 문제의 개선 2. 기초 개발 환경 설정하기 1) JDK(Java Development Kit) 설치하기 : https://www.oracle.com/java/technologies/javase-downloads.html Java SE - Downloads | Oracle Tech..
2020.03.06 -
Data Structure - Recursion
Recursion이란? 동일한 함수의 되풀이, 점화식 S(n) = n + S(n-1)이 그 예시. Recursion의 장단점을 살펴보기에 앞서 Recursion의 종류를 살펴보자. 1) Linear Recursion 함수 호출 시 동일한 함수가 최대 한번 되풀이 되는 것. 2) Binary Recursion 함수 호출 시 그 함수가 두번 되풀이 되는 것. ex) 피보나치 수열 F(0) = 0 F(1) = 1 F(i) = F(i-1) + F(i-2) (for i>1) 3) Linear Recursion VS Binary Recursion at Fibonacci Algorithm 방금 위에서 보여주었떤 Binary Recursion을 이용한 피보나치 수열 알고리즘과 아래 Linear Recursion을 이용..
2020.03.05