Page 119 - Bkhargava_-_Grokaem_algoritmy
P. 119

118    Глава 5.  Хеш-таблицы


        О нет! Элемент уже занят апельсинами! Что же делать? Такая ситуация
        называется коллизией: двум ключам назначается один элемент массива.
        Возникает проблема: если сохранить в этом элементе цену авокадо, то она
        запишется на место цены апельсинов. И когда кто-нибудь спросит,  сколько
        стоят апельсины, вы вместо этого сообщите цену авокадо! Коллизии - не­
        приятная штука, и вам придется как-то разбираться с ними. Существует
        много разных стратегий обработки коллизий. Простейшая из них выглядит
        так: если несколько ключей отображаются на один элемент, в этом элементе
        создается связанный список.



                                   А ПЕ.ЛЬ- Q t  "'J..   -+---7tА60КА..й.О  1.4'1
                            --~сины        .от


                       /t
                     ЦЕ.НА
                  БАНАНО6




        В этом примере и «апельсины», и «авокадо» отображаются на один элемент
        массива, поэтому в элементе создается связанный список. Если вам потре­
        буется узнать цену бананов, эта операция по-прежнему выполнится быстро.
        Если потребуется узнать цену апельсинов, работа пойдет чуть медленнее.
        Вам придется провести поиск по связанному списку, чтобы найти в нем
        «апельсины». Если связанный список мал, это не так страшно -        поиск
        будет ограничен тремя или четырьмя элементами. Но предположим, что
        вы работаете в специализированной лавке, в которой продаются только
        продукты на букву «а».




                       О.61      мок~о  1.4q



        (           ЬСЕ. ЭТИ ЭЛЕ.МЕНТЫ
                    НЕ. MCПOЛЬJYIOTCJI
         D







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