Page 118 - Bkhargava_-_Grokaem_algoritmy
P. 118

Коллизии   117


        На самом деле написать такую хеш-функцию почти невозможно. Рассмо­
        трим простой пример: допустим, массив состоит всего из 33 ячеек.


        1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
         О  1   l   .'>   •   5  6   t   &  8  10  11  1l  1.'>  1•  15  16  П 1&  18  lO  l1  ll  l.'>  Н l5  l6  lt  l&  l8  .'>О  .'>1  .'>l

        И хеш-функция очень простая: элемент массива просто назначается по
        алфавитному признаку.


             l(ЛЮ­
        l(ЛЮ-  ЧМ НА
        ЧУМК~Ау  БУК&У                                                   l(ЛЮ- l(ЛIO-
        Б
             •Б•
                                                                         ЧМ НА  ЧМ НА
        •А"  u   КЛЮЧИ НА                                                БУК&У БУК&У
         1  j
         +    /БУК&У •8•                                                 •Ю•  ,•Я• J
                                                                             ~  i
        1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
         О  1   l   .'>   •   5  6   t   &  8  10  11  1l  1.'>  Н  15  16  П 111  18  lO  l1  ll  l.'>  Н lS  l6  lt  l&  l8  .'>О  .'>1  .'>l
                                  Может быть, вы уже поняли суть проблемы. Вы
                l 0.61 /          хотите поместить цену апельсинов в хеш. Для

        АПЕЛЬСИНЫ ..J'            этого выделяется первая ячейка.
        После апельсинов в хеш заносится цена бананов. Для бананов выделяется
        вторая ячейка.


                                      ( о.ь1 ( o3q  ...


                              АПЕЛЬСИНЫ J         ~БАНАНЫ


        Пока все прекрасно! Но теперь в хеш нужно включить цену авокадо. И для
        авокадо снова выделяется первая ячейка.



                                    [ о.ь-r 1 о.зс:~ 1

                           АПЕЛЬСИНЫ?  :/'-     "-.  БАНАНЫ
                            А 601<.All.07



                                                         www.trk.kg
   113   114   115   116   117   118   119   120   121   122   123