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

a  첫 번째 요소 6에 주목합니다. 원하는 값이 없습니다.
                          b  두 번째 요소 4에 주목합니다. 원하는 값이 없습니다.
                          c  세 번째 요소 3에 주목합니다. 원하는 값이 없습니다.
                          d  네 번째 요소 2에 주목합니다. 원하는 값입니다. 검색에 성공입니다.



                        앞에서는 검색에 성공한 예를 살펴보았습니다. 그런데 키 값과 같은 값을 가진 요소가 배열에

                        항상 존재하지는 않습니다. 예를 들어, 위의 배열에서 5를 검색하면 배열에 5가 없기 때문에
                        검색에 실패입니다. 이러한 검색 과정을 나타낸 것이 그림 3-3입니다.  a  에서  h  까지 배열의
                        요소를 맨 앞부터 순서대로 검색합니다. 검색을 끝까지 수행해도 키 값과 같은 값의 요소를
                        만나지 못했습니다.


                                         1   2    3   4    5    6
                               a     6   4   3    2   1    3    8

                                      0   ❶   2   3   4    5    6
                               b     6   4   3    2   1    3    8
                                                                           배열의  요소를  맨  앞부터
                                      0   1   ❷   3   4    5    6          순서대로 검색합니다.
                               c     6   4   3    2   1    3    8

                                      0   1   2   ❸   4    5    6
                               d     6   4   3    2   1    3    8
                                      0   1   2   3   ❹    5    6
                               e     6   4   3    2   1    3    8
                                      0   1   2   3   4    ❺    6
                               f     6   4   3    2   1    3    8

                                      0   1   2   3   4    5   ❻
                               g     6   4   3    2   1    3    8
                                      0   1   2   3   4    5    6
                               h     6   4   3    2   1    3    8

                                                           검색 실패!
                                                           배열의 끝을 지나갔습니다.

                                          [그림 3-3] 선형 검색의 예(5를 검색 : 검색 실패)


                        성공의 예와 실패의 예를 보면 배열 검색의 종료 조건은 2개임을 알 수 있습니다. 다음 조건
                        중 하나라도 성립하면 검색을 종료합니다.


                         ① 검색할 값을 발견하지 못하고 배열의 끝을 지나간 경우
                         ② 검색할 값과 같은 요소를 발견한 경우





                                                                                            03•검색  99
   94   95   96   97   98   99   100   101   102   103   104