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

무결합(no linkage)
                        함수 안에서 정의한 변수 이름, 함수의 인수 이름, 라벨 이름 등은 그 함수 안에서만 유효하며 비록 같

                        은 소스 파일 안에서 작성했다고 하더라도 함수 외부에서는 접근할 수 없습니다. 이렇게 소스 프로그램
                        안에서만 사용하고 다른 소스에 존재를 알릴 필요가 없는 함수나 변수는 외부 결합을 하면 안 됩니다.


                        그림 11C-3을 다시 살펴보겠습니다. 소스 파일 B 안에서 선언한 변수 y에는 키워드 extern이 지정되
                        어 있습니다. 이렇게 키워드를 지정하면 ‘다른 소스 파일에서 정의한 변수를 사용합니다’라는 말과 같
                        은 의미입니다.

                           키워드 static과 extern은 메모리 클래스 지정자 가운데 하나입니다.





                        오픈 주소법
                        또 다른 해시법인 오픈 주소법(open addressing)은 충돌이 발생했을 때 재해시(rehashing)를 수

                        행하여 비어 있는 버킷을 찾아내는 방법으로, 닫힌 해시법(closed hashing)이라고도 합니다.
                        요소의 검색, 삽입, 삭제 과정을 그림 11-9에 나타낸 구체적인 예를 통해 살펴보겠습니다.
                           앞에서 소개했던 예와 마찬가지로 키 값을 13으로 나눈 나머지를 해시 값으로 합니다.


                        요소 삽입

                        a  는 새로운 값(18)을 삽입하고자 할 때 충돌이 발생한 경우입니다. 이럴 때 사용하는 방법이
                        재해시(rehashing)입니다. 재해시할 때 해시 함수는 자유롭게 결정할 수 있습니다. 여기서는
                        재해시할 때 키 값에 1을 더한 값을 13으로 나눈 나머지로 합니다.

                              0   1   2    3   4    5   6    7   8    9   10   11   12
                        a    -   14   -   29   -    5   6   -    34   -   75   37   51

                                                    18  충돌

                              0   1   2    3   4    5   6    7   8    9   10   11   12
                        b    -   14   -   29   -    5   6   -    34   -   75   37   51
                                                        18  재해시하지만 다시 충돌

                              0   1   2    3   4    5   6    7   8    9   10   11   12
                        c    -   14   -   29   -    5   6   -    34   -   75   37   51

                                                             18  재해시하고 삽입
                                           [그림 11-9] 오픈 주소법을 이용한 재해시








                                                                                          11•해시  451
   446   447   448   449   450   451   452   453   454   455   456