따..딱히 공부하려고 포스팅하는 건 아니니까..!
분할 정복 알고리즘 주어진 문제의 입력을 분할하여 문제를 해결(정복)하는 방식의 알고리즘 분류 분할되는 부분문제의 수와 부분문제의 크기에 따라 분류 1) 합병 정렬(Merge Sort)2) 퀵 정렬(Quick Sort)3) 선택 문제(Selection)4) 최근접 점의 쌍 찾기(Closest Pair) 1) 합병 정렬 (Merge Sort) 정의 : 입력이 2개의 부분문제로 분할되고, 부분문제의 크기가 1/2로 감소하는 분할 정복 알고리즘 합병의 시간복잡도 : 2개의 정렬된 두 배열의 크기가 각각 n, m 일때, 최대 비교 횟수는 n+m-1, 시간복잡도는 O(n+m)합병 정렬의 공간복잡도 : O(n)합병 정렬의 시간복잡도 : 층수 X O(n) = log2n X O(n) = O(nlogn) 외부 정렬의 기..
Native Code에는 C, C++ 등이 있고, Managed Code에는 C#, Java 등이 있다. 두 코드에는 큰 차이점이 있는데, 이 차이점 때문에 두 코드는 섞이기 어렵다. 두 코드의 차이점은 다음과 같다. 1) 인터프리터 필요성의 유무2) 자체 동적 메모리 할당/해제 1) Managed Code는 인터프리터를 필요로 한다. Native Code는 OS에 의해 컴파일되어 중간 단계없이 실행파일이 만들어진다.- 과정 : Native Code -> 컴파일 -> 링크 -> 실행파일 Managed Code는 중간 단계에서 인터프리터에 의해 기계 언어로 해석하는 단계를 거친다. - 과정 : Managed Code -> 중간 언어(IL, Intermedinate Language) -> 인터프리터 -> 실..
- 사용하는 이유1) 나의 소스를 다른이에게 보여주지 않고 기능만을 사용할 수 있게 하기 위해서2) 프로그램과 함께 컴파일 되지 않고, 프로그램 실행중에 동적으로 연결되어 램에 적재되지 않는다.(= 필요할 때에만 적재되므로 램 공간을 절약할 수 있다.) - 사용 예directx의 h, dll 파일을 추가하기 위해 추가 종속성에 d3dx.h, d3d9x.h 등을 추가하는 것 등 - 유니티에 dll 추가할 때 주의점 비주얼 스튜디오에 프로젝트를 추가할 때 NET Framework의 버전을 유니티가 사용하는 버전에 맞춰야 한다.-> 비주얼은 최신 버전에 맞추는데 비해 유니티는 낮은 버전을 이용하기 때문(2015년 기준 최신버전은 4.5, 유니티는 2.0 사용)