Що означає Bucket?


17

У застарілому коді я знайшов клас, ім'я якого - BucketService.

Оскільки англійська мова не є моєю рідною мовою, я намагався перекласти це, але це не має сенсу.

Я знайшов кілька термінів, таких як сортування відра тощо, але я все ще не розумію. Насправді це слово використовується досить часто в програмуванні

Я був би корисним для простого пояснення цього слова


1
ніколи не судіть клас за його назвою. Який API він виставляє? який стан він містить? як це використовується / викликається / інстанціюється? не знаючи , що єдино правильну відповідь на питання , як ваша , здається, Mu
комар

2
Зокрема, з недескрипційною назвою на кшталт "BucketService" - це звучить як "UtilityManager" або "ThingDoer". З таким неясним іменем, ваш єдиний варіант - подивитися на код. На жаль, класи з іменами , які розпливчаста зазвичай роблю трохи про все (або багато всього, якщо вам не пощастило).
Tacroy

Відповіді:


36

Відро англійською мовою являє собою пристрій для зберігання води.

Застосовуючись у програмному забезпеченні, це звичайно означає тип даних, який об'єднує об'єкти.

Термін використовується часто при обговоренні алгоритмів хешування , коли різні елементи, що мають один і той же хеш-код (хеш-зіткнення), потрапляють в одне і те саме «відро». Значення об’єкти групуються за хешем.

Загалом, хеш-функція може відображати кілька різних клавіш в одному індексі. Тому кожен слот хеш-таблиці асоціюється з (неявно або явно) набором записів, а не з одним записом. З цієї причини кожен слот хеш-таблиці часто називають відром, а хеш-значення також називають індексами відра.

Неофіційно я бачив термін, що використовується у словниках, значення яких (не ключове) - це сукупність елементів.


У Вікіпедії є сторінка, присвячена терміну, який використовується в обчисленні - Bucket (Computing) :

У обчисленні термін "відро" може мати кілька значень. Він використовується і як жива метафора, і як загальноприйнятий технічний термін у деяких спеціалізованих областях. Відро - це найчастіше тип буфера даних або тип документа, в якому дані поділяються на регіони.


6
+1 ти побив мене до цього! Хочеться додати, що призначення алгоритму хеш-сортування елементів у відра дозволяє швидше знайти та сортувати великі колекції. Якщо я хочу шукати 20 елементів для певного предмета, то неефективним способом було б пошук одного за одним за ідентифікатором. Кращим способом було б колекція зберігати предмети з тим самим хешем у відрі , тому у відрі потрібно шукати лише кілька предметів, а не весь список.
maple_shaft

@maple_shaft - Хороший момент щодо використання відра для хешування. Я не вважав, що це питання стосується :)
Од

0

Можливо, це посилання на «бітове відро». Ось де біти, які зміщуються від байта, переходять на лівий і правий бітові зсуви.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.