수학 에피소드 - 귀속법 최소치 찾기

5777 단어 귀속

1. 제목


하나의 정수 서열에서 가장 작은 원소를 찾아내 귀속적인 방법으로 실현하다

2. 원본 코드(2분 서열 귀속)

   1: #include <stdio.h>
   2:  
   3: int getMin(int array[], int n)
   4: {
   5:     int val1, val2, val3;
   6:  
   7:     if(n == 1) return array[0];
   8:  
   9:     if(n % 2 == 0)
  10:     {
  11:         val1 = getMin(array, n / 2);
  12:         val2 = getMin(array + n / 2, n / 2);
  13:  
  14:         if(val1 < val2)
  15:             return val1;
  16:         else
  17:             return val2;
  18:     }
  19:  
  20:     if(n % 2 != 0)
  21:     {
  22:         val1 = getMin(array, n / 2);
  23:         val2 = getMin(array + n / 2 + 1, n / 2);
  24:         val3 = array[n/2];
  25:  
  26:         if(val1 < val2)
  27:         {
  28:             if(val1 < val3) return val1;
  29:             else return val3;
  30:         }
  31:         else
  32:         {
  33:             if(val2 < val3) return val2;
  34:             else return val3;
  35:         }
  36:     }
  37: }
  38:  
  39: int main()
  40: {
  41:     int array[9] = {11, 13, 23, 56, 8, 23, 11, 23, 111}, val;     /* , 8 */
  42:     val = getMin(array, 9);                        /* getMin */
  43:     printf("%d", val);
  44:     printf("The minum element of this array is %d 
"
, val);
  45:     return 0;
  46: }

좋은 웹페이지 즐겨찾기