알고리즘 3. Divide and Conquer
건국대학교 알고리즘 김성열 교수님의 수업을 정리한 내용입니다. Divide and Conquer 입력값을 절반으로 나눠서 재귀적으로 답을 구했다고 치자. 두 답을 합쳐서 반환할 답을 만들 수 있다면 Divide and Conquer로 문제를 해결한 것과 같다. 정리하면 다음과 같다. 입력 값을 나눈다. (보통 절반) 각각 재귀적으로 답이...
건국대학교 알고리즘 김성열 교수님의 수업을 정리한 내용입니다. Divide and Conquer 입력값을 절반으로 나눠서 재귀적으로 답을 구했다고 치자. 두 답을 합쳐서 반환할 답을 만들 수 있다면 Divide and Conquer로 문제를 해결한 것과 같다. 정리하면 다음과 같다. 입력 값을 나눈다. (보통 절반) 각각 재귀적으로 답이...
건국대학교 알고리즘 김성열 교수님의 수업을 정리한 내용입니다. Greedy 모든 경우를 다 따져보지 않아도 현재 상태에서 최선이라고 생각되는 경우만 선택했을 때 답이 구해지는 알고리즘이다. 최선의 기준은 여러가지가 있을 수 있고, 기준에 따라 그리디 알고리즘이 해를 찾을 수도, 못찾을 수도 있다. 따라서 최선을 선택하는 방법을 잘 선택하는 것이 핵...
건국대학교 알고리즘 김성열 교수님의 수업을 정리한 내용입니다. Sorting 정렬 알고리즘의 경우 일반적으로 비교 정렬을 사용하고, 특정 조건이 만족되는 경우 Counting Sort, Radix sort같은 알고리즘을 사용할 수 있다. 비교 정렬 알고리즘의 경우 (O(n\log n))보다 빠를 수 없다. 그 이유는, 비교하는 선택지를 결정 ...
건국대학교 알고리즘 김성열 교수님의 수업을 정리한 내용입니다. 결정, 비결정 문제 결정 문제란 예, 아니요로 답할 수 있는 문제다. 예를 들어 ‘주어진 숫자 n이 소수인가?’, ‘그래프가 모든 정점을 연결하고 있는가?’는 결정문제다. 닫힌 질문과 같다. 비결정 문제란, 예, 아니요로만 답할 수 없는 문제다. 예를들어 ‘그래프의 두 노드 사이의 최...
Analytical mechanics/Fowles, Grant R. (7판)의 내용입니다. 가속계 관성계에 대해 병진 가속하는 좌표계를 가속계라고 한다. 기준계의 가속도와 크기는 같고 방향은 반대인 관성력을 물체가 받는 힘에 추가한다. 관성력은 (F_{i}=-m A_{0})와 같다. [!tip] 사실 중력 = 관성력이다.{title} 아인슈...
Analytical mechanics/Fowles, Grant R. (7판)의 내용입니다. Projectile motion 공기 저항을 받지 않는 포사체 운동을 예측하는 방법에 대해서 알아보자. 초기 속도가 (\mathbf{v_{0}})으로 주어지고, (t=0)일 때 ((0, 0, 0))에서 포사체 운동을 시작한다. 이 입자가 받는 힘은 중력밖에 ...
Analytical mechanics/Fowles, Grant R. (7판)의 내용입니다. Rectangular coordinate (직교좌표계) 기저 벡터가 서로 직교하는 좌표계. [!example]- 2차원 직교 좌표계{title} [\mathbb{R}^2 = { (x, y) x,...
고전 역학이란 무엇인가? 고전역학이란, 아래 두가지 식으로 모든 것을 다 설명할 수 있다! 라는 마인드로 세상을 분석하려는 시도다. 만유인력의 법칙 : \(\displaystyle F=G \frac{m_{1}m_{2}}{r^2}\) 힘과 가속도의 법칙 : \(\displaystyle a=\frac{F}{m}\) 고전 역학 문제를 해결하...
건국대학교 시스템 프로그래밍 진현욱 교수님의 수업을 정리한 내용입니다. Time Type Wall Time (or Real Time) Monotonic Time Process Time 컴퓨터에서 정의하는 시간의 종류는 총 세가지가 있다. Wall Time은 우리의 현실 시간을 의미한다. 사용자가 설정을 통해 Wall Time을 조절...
건국대학교 시스템 프로그래밍 진현욱 교수님의 수업을 정리한 내용입니다. Standard I/O 보안 이슈 때문에 Kernel 영역과 User 영역은 엄격하게 분리되어있고, System Call을 통해서만 Kernel에 작업을 요청할 수 있다. 따라서, Kernel 영역과 User 영역을 오가는데 오버헤드가 존재하고, 만약 System Call 호출...