본문 바로가기

분류 전체보기

C언어 동적 프로그래밍(Dynamic Programming in C) C언어 동적 프로그래밍(Dynamic Programming in C) - 동적 프로그래밍은 하위문제들에 대한 해결책을 결합하는 방식으로 문제를 해결한다. - 일반적으로 동적 프로그래밍은 최적화 문제에 적용된다. - 동적 프로그래밍 알고리즘을 개발할 때, 다음과 같은 시퀀스를 따른다. (1) 최적의 해결책의 구조를 특징 짓는다. (2) 재귀적으로 최적의 해결책의 값을 정의한다. (3) 최적의 해결책의 값을 계산한다. (4) 계산된 정보를 바탕으로 최적의 해결책을 구성한다. 더보기
다항식 - 1 1. 단항식과 다항식 (1) 단항식 : 수와 문자 간에 곱셈만을 이용해 표현한 식 (2) 다항식 : 단항식 또는 단항식의 합으로 표현한 식 2. 다항식에 관련된 여러 가지 용어 어떤 문자(주목하는 문자)에 대한 다항식에서 (1) 항 : 다항식을 이루고 있는 각 단항식 (2) 상수항 : '주목하는 문자'를 포함하지 않는 항 (3) 특정 항의 계수 : 특정 항에서 '주목하는 문자'를 제외한 나머지 부분 (4) 특정 항의 차수 : 특정 항에 곱해져 있는 '주목하는 문자'의 개수(상수항의 차수는 0으로 정의) (5) 다항식의 차수 : 다항식을 정리했을 때 각 항의 차수 중 가장 큰 차수 - 다항식은 한 개 이상의 항으로 이루어진 식으로, 단항식도 다항식도 포함된다. - 문자 사이에 나눗셈 기호가 있거나(분모에 .. 더보기
곱셈공식 정리 더보기
C언어 분기문(return, break, continue) C언어 분기문(return, break, continue) - 프로그램의 순차적 수행 순서에 따르지 않고 다른 명령을 수행하도록 이행 시키는 명령입니다. - 분기문에는 여러 종류가 있고, 각각 다른 특징을 가집니다. 1. return return은 자신(함수)를 호출한 곳으로 다시 되돌아가는 명령입니다. 아직 함수에 대해서 자세히 다루지는 않았지만, 이미 우리는 return 을 봤습니다. int main (void) { return 0; } C언어의 기본인 main 함수를 보면, return 을 포함하고 있습니다. return '상수 or 변수'; 의 구조로 사용이 되는데, 자신을 호출한 곳으로 돌아가면서, '상수 or 변수'의 값을 반환해 주는 것입니다. 위의 예제에서는 즉, main 함수를 호출한 곳.. 더보기
원의 성질 원의 성질 1. 현의 수직이등분선 (1) 원의 중심에서 현에 내린 수선은 그 현을 이등분한다. (2) 원에서 현의 수직이등분선은 그 원의 중심을 지난다. 2. 현의 길이 한 원 또는 합동인 두 원에서 (1) 원의 중심으로부터 같은 거리에 있는 두 현의 길이는 서로 같다. (2) 길이가 같은 두 현은 원의 중심으로부터 같은 거리에 있다. 3. 원의 접선의 길이 (1) 접선의 길이 : 원 밖의 한 점 P에서 원 O에 그은 접점을 각각 A, B라 할 때, 선분PA, 선분PB의 길이가 점 P에서 원 O에 그은 접선의 길이이다. (2) 원 밖의 한 점 P에서 원 O에 그은 두 접선의 길이는 서로 같다. PLUS. - 원의 접선은 그 접점을 지나는 원의 반지름과 서로 수직이다. - 원 위의 한 점을 지나고 그 점을.. 더보기
C언어 레드-블랙 트리 삭제 알고리즘(Red-Black Trees in C, deleting or removing algorithm) C언어 레드-블랙 트리 삭제 알고리즘(Red-Black Trees in C, deleting or removing algorithm) - 많은 검색-트리 구조 중 하나이다. - 기본 동적 명령들이 최악의 경우에도 O(lg n) 시간이 걸리도록 보장하기 위해 안정(balanced) 되었다. - 각 노드마다 하나의 추가적인 비트를 가지고 있다. - 편리한 상태처리를 위해 NIL을 나타내는 센티널 노드가 있다. - 다음 5가지의 특성을 만족하는 이진 트리이다. (1) 각 노드는 빨강 또는 검정색이다. (2) 루트(root)는 검정색이다. (3) 모든 leaf(NULL)은 블랙이다. (4) 만약 노드가 빨강이면, 해당 노드의 자식은 모두 검정이다. (5) 각 노드에 대해, 해당 노드에서 자식 노드까지의 모든 경.. 더보기
C언어 레드-블랙 트리 삽입 알고리즘 (Red-Black Trees in C, insertion algorithm) C언어 레드-블랙 트리 삽입 알고리즘 (Red-Black Trees in C, insertion algorithm) - 많은 검색-트리 구조 중 하나이다. - 기본 동적 명령들이 최악의 경우에도 O(lg n) 시간이 걸리도록 보장하기 위해 안정(balanced) 되었다. - 각 노드마다 하나의 추가적인 비트를 가지고 있다. - 편리한 상태처리를 위해 NIL을 나타내는 센티널 노드가 있다. - 다음 5가지의 특성을 만족하는 이진 트리이다. (1) 각 노드는 빨강 또는 검정색이다. (2) 루트(root)는 검정색이다. (3) 모든 leaf(NULL)은 블랙이다. (4) 만약 노드가 빨강이면, 해당 노드의 자식은 모두 검정이다. (5) 각 노드에 대해, 해당 노드에서 자식 노드까지의 모든 경로들은 같은 수의 .. 더보기
삼각비 1. 삼각비 (1) 삼각비 : 직각삼각형에서 두 변의 길이의 비 (2) ∠B = 90°인 직각삼각형 ABC에서 ∠A의 삼각비 - sin A = (높이)/(빗변) - cos A = (밑변)/(빗변) - tan A = (높이)/(밑변) 2. 삼각비의 값 (1) 0°의 삼각비의 값 : ∠x가 0°에 가까워지면 각 값은 0, 1, 0에 가까워진다. sin 0° = 0, cos 0° = 1, tan 0° = 0 (2) 90°의 삼각비의 값 : ∠x가 90°에 가까워지면 각 값은 1, 0, 무한에 가까워진다. sin 90° = 1, cos 90° = 0, tan 90° = 정할 수 없다. PLUS. 각 A의 크기가 커질 수록 - sin A의 값은 0에서 1까지 증가한다. - cos A의 값은 1에서 0까지 감소한다.. 더보기
피타고라스 정리의 활용 피타고라스 정리의 활용 1. 평면도형에서 대각선의 길이 (1) 직사각형의 대각선의 길이 : 가로의 길이가 a, 세로의 길이가 b인 직사각형 ABCD에서 대각선의 길이를 l이라 하면 l² = a² + b² (2) 정사각형의 대각선의 길이 : 한 변의 길이가 a인 정사각형 ABCD에서 대각선의 길이를 l이라 하면 l² = a² + a² = l² = 2a² 2. 삼각형의 높이와 넓이 (1) 정삼각형의 높이와 넓이 한 변의 길이가 a인 정삼각형 ABC에서 높이를 h, 넓이를 S라 하면 h = √3/2a S = √3/4a² (2) 삼각형의 높이와 넓이 한 꼭짓점에서 대변의 수선을 그어 직삼각형을 만든 후 피타고라스 정리를 이용한다. PLUS. 삼각형의 높이를 구할 때에는 한 꼭짓점에서 대변에 수선을 그어 직각삼각.. 더보기
피타고라스 정리 1. 피타고라스 정리 (1) 직각삼각형에서 직각을 끼고 있는 두 변의 길이를 각각 a, b라하고, 빗변의 길이를 c라하면 a² + b² = c² PLUS. - a, b, c는 변의 길이이므로 항상 양수이다. - 피타고라스 정리는 직각삼각형에서만 적용할 수 있다. 2. 피타고라스 정리의 설명 방법(1) - 유클리드 직각삼각형 ABC의 각 변을 한 변으로 하는 정사각형을 이용하여 설명 3. 피타고라스 정리의 설명 방법(2) - 피타고라스 직각삼각형 ABC의 한 변의 길이가 a + b인 정사각형을 이용하여 설명 4. 피타고라스 정리의 설명 방법(3) - 바스카라 직각삼각형 ABC와 합동인 삼각형 4개를 붙여 정사각형을 만들어 설명 5. 직각삼각형의 될 조건 세 변의 길이가 각각 a, b, c인 삼각형 ABC에.. 더보기