[Data Structure / Java] ✒️ 시간 복잡도
·
Algorithm & Data Structure/study
시간 복잡도 입력되는 데이터의 증가에 따른 성능의 변화를 예측 1. O(1) int function(int[] n) { if(n.length < 3) return 0; int a = n[0]; a += n[1]; a += n[2]; return a; } int배열 n개가 들어오는데 몇개가 들어와도 메소드 안의 처리는 연산의 양은 변하지 않는다. 즉, 변화가 없이 항상 일정하다. 2. O(n) int sum(int[] n) { int s = 0; for (int index : n) { s += index; } return s; } int 배열 n개가 들어올 때 메소드 안의 처리하는 연산이 n번 수행된다. 입력되는 배열 n개에 따라 연산하는 양이 비례한다. 3. O(n^2) void bubbleSort(in..
[Data Structure / Java] ✒️ Call By Value / Call By Reference
·
Algorithm & Data Structure/study
함수 호출 방법에는 크게 두 가지가 있다. Call By Value (값에 의한 호출) - Primitive Type 기본 자료형 (int, short, long, float, double, char, boolean) 일 경우 Call By Reference (참조에 의한 호출) - Reference Type 참조 자료형 (Array, Class Instance) 일 경우 Call By Value (값에 의한 호출)는 인자로 받은 값을 복사하여 처리를 한다. Call By Reference (참조에 의한 호출)는 인자로 받은 값의 주소를 참조하여 직접 값에 영향을 준다. (주소 값을 넘긴다.) 다시 말해 값을 복사하여 처리하느냐, 직접 참조를 하느냐의 차이. Programming 구조상 Call By V..
[Data Structure / Java] ✒️ 컴퓨터가 데이터를 다루는 방법
·
Algorithm & Data Structure/study
Java는 데이터를 어떻게 표현하는가 Java는 크게 두 가지 Data Type을 사용한다. Primitive Reference (Object) Primitive Type와 Reference Type이 어떻게 다른지를 이해하기 위해서는 이 타입들이 컴퓨터 메모리에서 어떻게 존재하는지를 이해해야 한다. Primitive Type은 ? int i = 42; float pi = 3.14; boolean b = true; i 라는 int 변수 하나가 만들어져 있다. 이 변수는 메모리 상 어딘가에 42라는 값이 저장이 된다. 우리는 i라는 변수를 사용하면 메모리에서 42라는 값을 꺼내와서 사용할 수 있다. pi 라는 float 변수와 b 라는 boolean 변수도 동일하게 pi 나 b 라는 변수를 사용하여 메모리..