책 내용 질문하기
정보처리산업기사 17년 5월 17번문제 풀이 좀 해주세요
도서
2020 시나공 SUMMARY 정보처리산업기사 필기
페이지
112
조회수
264
작성일
2020-04-07
작성자
탈퇴*원
첨부파일

인터넷 강의로 들었을때에는 첫번째 값(F)과 마지막 값(L)을 이용하여

중간값을 구하며 범위를 좁혀나가는걸로 이해했는데

해설지가 이해가 안되네요

 

제가 풀이한 식은

 

3, 18, 47, 54, 65, 83, 94, 97

 

(3 + 97)/2 = 50  -> ①     (51 + 97)/2 = 74 -> ②

 

(51 + 73)/2 = 62 -> ③     (63 + 73)/2 = 68 -> ④

 

(63 + 67)/2 = 65 -> ⑤

 

비교해야할 횟수는 5회가 나왔는데 제 풀이와 해설지가 다르네요

 

풀이 좀 부탁드립니다.

 

답변
2020-04-08 11:33:11

안녕하세요 길벗수험서 운영팀입니다.

 

2진 검색해서 비교에 사용되는 기준은 '값'이 아닌 '위치'입니다.

 

 

위치

1

2

3

4

5

6

7

8

3

18

47

54

65

83

94

97

 

 

때문에 처음은

1. (1+8)/2= 4.5의 정수 4의 위치에 있는 값과 비교합니다. (65=54 - 거짓)

2. 65>54이므로 다음 위치인 5~8 범위에서 검색합니다. 

   (5+8)/2= 6.5의 정수 6의 위치에 있는 값과 비교합니다. (65=83 - 거짓)

3. 65<83이므로 앞의 위치인 5~5위치에 있는 값과 비교합니다.

   (5+5)/2 = 5의 위치에 있는 값과 비교합니다. (65=65 - 참)

 

이렇게 3회 비교하게 됩니다.

실제 값이 아닌 위치를 기준으로 2진 검색이 수행된다는 점을 염두에 두세요.

 

행복한 하루되세요 :)

  • 관리자
    2020-04-08 11:33:11

    안녕하세요 길벗수험서 운영팀입니다.

     

    2진 검색해서 비교에 사용되는 기준은 '값'이 아닌 '위치'입니다.

     

     

    위치

    1

    2

    3

    4

    5

    6

    7

    8

    3

    18

    47

    54

    65

    83

    94

    97

     

     

    때문에 처음은

    1. (1+8)/2= 4.5의 정수 4의 위치에 있는 값과 비교합니다. (65=54 - 거짓)

    2. 65>54이므로 다음 위치인 5~8 범위에서 검색합니다. 

       (5+8)/2= 6.5의 정수 6의 위치에 있는 값과 비교합니다. (65=83 - 거짓)

    3. 65<83이므로 앞의 위치인 5~5위치에 있는 값과 비교합니다.

       (5+5)/2 = 5의 위치에 있는 값과 비교합니다. (65=65 - 참)

     

    이렇게 3회 비교하게 됩니다.

    실제 값이 아닌 위치를 기준으로 2진 검색이 수행된다는 점을 염두에 두세요.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.