일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Big-Oh notation
- trivial solution
- 빅오 표기법
- Big Theta
- 코틀린 시작하기
- matrix fo a linear transformation
- one-to-one
- Big Omega
- Big-O 예제
- 빅오메가
- matrix-vector product
- linear dependence
- python
- solutions of matrix equation
- 배열 섞기
- 일차변환
- homogeneous linear system
- 이진 탐색
- recursive algorithms
- 코틀린 Hello World!
- 재귀함수
- nonhomogeneous linear system
- NumPy
- matrix trnasformations
- itertools
- nontrivial solution
- 빅세타
- 랜덤 순서 배열
- Big-Oh 예제
- 알고리즘 분석의 실례
- Today
- Total
코딩 연습
베트남의 수도 하노이에 있는 불교 사원에 전해지는 이야기 중 다음과 같은 것이 있다고 한다. 다이아몬드로 이루어진 3개의 기둥 중 하나에 64개의 황금 원반이 끼워져 있다. 황금 원반은 크기가 모두 다르며, 아래쪽에서 위쪽으로 갈수록 크기가 작아져서 전체적으로는 원뿔형의 탑을 이루고 있다. 이 64개의 원반을 한 번에 하나씩 움직여 모두 다른 쪽 기둥으로 옮기려고 한다. 단, 옮기는 과정에서 작은 원반 위에 큰 원반이 놓일 수는 없다. 이런식으로 원반들이 처음 있던 기둥에서 다른 기둥으로 모두 옮겨지면 세상이 끝난다는 전설이 있다. 하노이의 탑 문제는 유명하기 때문에 여기까지 검색해서 오신 분들이라면 다른 설명이 필요 없을 것이라고 생각된다. 이 문제는 재귀함수를 이용하여 간단하게 해결할 수 있다. (물..
유클리드 알고리즘 이 글을 이해하기 위해서는 유클리드 알고리즘을 먼저 이해해야 합니다. 다음 동영상을 참고하시기 바랍니다. 확장 유클리드 알고리즘 $x, y$ 에 대한 부정방정식 $ax+by=c$ 는 $c$ 의 값이 ${\rm gcd}(a, b)$ 의 배수일 때만 정수해를 갖는다고 알려져 있다. 즉, $ax+by=c$ 가 정수해를 갖는 $c$의 최솟값이 ${\rm gcd}(a, b)$ 가 되는 것이다. 따라서 확장 유클리드 알고리즘은 말 그대로 유클리드 알고리즘을 확장하여 $a, b$ 의 최대공약수 뿐만 아니라, $ax+by={\rm gcd}(a, b)$를 만족하는 정수해 $x, y$ 도 구하는 알고리즘이라고 생각하면 된다. $240$ 과 $46$ 의 최대공약수를 $c={\rm gcd}(240, 46)$..
(파이썬 & 수학) 미분계수 구하기 를 먼저 보고 오세요. 파이썬에서 부정적분과 정적분을 하는 방법은 간단한다. 다음과 같이 sympy 패키지에서 Integral 클래스를 이용하여 부정적분 \(\displaystyle \int x^2 +x+1 \; dx\) 를 구해보자. >>> from sympy import Integral, Symbol >>> x = Symbol('x') >>> f = x**2 + x + 1 >>> Integral(f, x).doit() x**3/3 + x**2/2 + x 이쁘게 보고 싶다면 pprint 를 사용한다. >>> from sympy import pprint >>> pprint(Integral(f, x).doit()) 3 2 x x ── + ── + x 3 2 늘 그렇듯이 ..