본문 바로가기

Programming/Algorithm2

C언어 알고리즘&자료구조 #1 세 값의 중앙값을 구하는 알고리즘 중앙값을 구하는 알고리즘은 최대/최소값을 구하는 알고리즘에 비해서 절차가 복잡하기에 여러가지의 알고리즘이 나올 수 있다. 이번 포스팅에서는 2가지의 알고리즘을 제시하고, 어떤 알고리즘이 더 효율적인지에 대해 정리해 보려고 한다. #1세 값의 대소관계는 13종류이다. #2중앙값을 구하는 알고리즘 #세 값의 대소 관계는 13종류이다. 세 변수의 중앙값을 구하는 알고리즘에 대해 알아보기 전에, 세 값을 조합했을 때 총 몇 가지의 조합이 나올 수 있는지, 결정 트리(decision tree)를 통해서 알아 보도록 하자. 결정 트리는 왼쪽 끝(a>=b)에서 시작해서 오른쪽 끝으로 이동한다. 조건이 성립하면 검은색 줄, 조건이 성립하지 않으면 빨간색 줄을 통해서 이동한다. 이렇게 결정트리를 미리 그려 두면, 알고리.. 2021. 2. 5.
C언어 알고리즘&자료구조 #0 세 값의 최대/최소를 구하는 알고리즘 #최댓값을 구하는 알고리즘 변수 a,b,c의 최댓값을 구하는 알고리즘에 대해서 알아보자. 다음 소스코드는 사용자로 부터 main 함수에서 X,Y,Z의 값을 입력받은 후 MAX함수로 보내 최댓값을 구하는 알고리즘이다. #include int MAX(int x, int y, int z); int main(void) { int x, y, z; printf("Calculate Max\n"); printf("X = "); scanf_s("%d", &x); printf("Y = "); scanf_s("%d", &y); printf("Z = "); scanf_s("%d", &z); printf("Max is %d\n", MAX(x,y,z)); return 0; } int MAX(int x, int y, int z) .. 2021. 2. 3.