[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] ✒️ 컴퓨터가 데이터를 다루는 방법
·
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 라는 변수를 사용하여 메모리..