Page 20 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 20

보충수업 1-4   세 값의 대소 관계와 중앙값

                   세 값의 대소 관계는 13종류
                   앞서 세 값의 대소 관계의 조합은 13가지 종류가 있다고 했는데, 다음의 그림 1C-4는 조합을 나열한
                   것입니다. 이때 조합을 나열한 모양이 나무(tree) 형태이므로 결정 트리(decision tree)라고 합니다. 결
                   정 트리는 왼쪽 끝(a≧b)에서 시작하여 오른쪽으로 이동합니다.                    안의 조건이 성립하면 윗가지
                   로, 성립하지 않으면 아랫가지로 이동합니다.

                                                                      A   3  2  1
                                                                       a > b > c
                                    Yes
                                                              b > c   B   3  2  2
                                    No                                 a > b = c
                                                                                 C   3  2  1
                                                   b ≧ c                         a > c > b
                                                                        a > c    D   3  3  2
                                                              a ≧ c   E   3  2  1  a = c > b
                                                                       c > a > b
                                         a > b
                                                                      F   3  3  2
                                                                       a = b > c
                                                              b > c   G   3  3  3
                                                   b ≧ c    H   3  2  2  a = b = c
                             a ≧ b                          c > a = b
                                                            I   3  2  1
                                                            b > a > c
                                                   a > c    J   3  2  2
                                                            b > a = c  K   3  2  1
                                         a ≧ c                         b > c > a
                                                              b > c   L   3  3  2
                                                   b ≧ c    M   3  2  1  b = c > a
                                                            c > b > a

                                         [그림 1C-4] 세 값 a, b, c의 대소 관계를 나열한 결정 트리


                   오른쪽 끝의            안은 세 변수 a, b, c의 대소 관계를 나타냅니다. 그 위의 초록색 숫자는 실습
                   1-2 프로그램에서 사용한 세 변수의 값입니다(프로그램에서는   A ,  B , …,  M  으로 표시한  13개의 값에 대
                   해 최댓값을 구했습니다).


                   세 값의 중앙값
                   최댓값, 최솟값과 달리 중앙값을 구하는 절차는 매우 복잡합니다(그래서 수많은 알고리즘을 생각할 수 있
                   습니다). 다음 실습 1C-1은 중앙값을 구하는 프로그램입니다. 각 return문 오른쪽의  A ,  B , …,  M 은
                   그림 1C-4에 표시한 기호입니다.









                   20   C 알고리즘
   15   16   17   18   19   20   21   22   23   24   25