Bucketの意味?


17

レガシコードでBucketServiceという名前のクラスを見つけました。

英語は私の母国語ではないので、私はそれを翻訳しようとしていましたが、意味がありません。

バケットの並べ替えなどの用語はほとんど見つかりませんでしたが、まだ取得できません。実際、この言葉はプログラミングで非常に頻繁に使用されます

私はその言葉の簡単な説明に役立つでしょう


1
クラスをその名前で判断しないでください。どのAPIを公開していますか?どの状態が含まれていますか?どのように使用/起動/インスタンス化されますか?それを知らずに、あなたのような質問に対する唯一の正しい答えは、Mu
gnat

2
特に、「BucketService」のような非記述名の場合、「UtilityManager」または「ThingDoer」のように聞こえます。そのようなあいまいな名前で、あなたの唯一のオプションはコードを見ることです。残念ながら、名前を持つクラスという(あなたが不運なら、またはすべてのロット)漠然とした一般的にすべての少しを行います。
タクロイ

回答:


36

英語のバケツは、水を保持するための装置です。

ソフトウェアで使用される場合、通常、オブジェクトをグループ化するデータ型を意味します。

この用語は、ハッシュアルゴリズムを議論するときによく使用されますハッシュアルゴリズムでは、同じハッシュコード(ハッシュ衝突)を持つ異なるアイテムが同じ「バケット」に入ります。つまり、オブジェクトはハッシュによってグループ化されます。

一般に、ハッシュ関数はいくつかの異なるキーを同じインデックスにマッピングできます。したがって、ハッシュテーブルの各スロットは、単一のレコードではなく、レコードのセットに(暗黙的または明示的に)関連付けられます。このため、ハッシュテーブルの各スロットはしばしばバケットと呼ばれ、ハッシュ値はバケットインデックスとも呼ばれます。

非公式には、値(キーではない)がアイテムのコレクションである辞書で使用される用語を見てきました。


ウィキペディアには、コンピューティングで使用される用語に特化したページがあります-Bucket(Computing)

コンピューティングでは、バケットという用語にはいくつかの意味があります。ライブメタファーとして、また一部の専門分野で一般に受け入れられている技術用語として使用されています。バケットは、最も一般的には、データバッファの一種、またはデータが領域に分割されているドキュメントの一種です。


6
+1してくれました!要素をバケットにソートするハッシュアルゴリズムの目的により、大規模なコレクションをより迅速に取得およびソートできることを付け加えます。特定のアイテムについて20個のアイテムを検索する場合、非効率的な方法はIDごとに1つずつ検索することです。コレクションが同じハッシュを持つアイテムをバケットに保持するためのより良い方法は、リスト全体ではなくバケット内で検索する必要があるのは少数のアイテムだけです。
maple_shaft

@maple_shaft-ハッシュでのバケットの使用に関する良い点。私はそれが質問に関連するとは思わなかった:)
Oded

0

おそらく、それは「ビットバケット」への参照です。これが、バイトからシフトされたビットが左右のビットシフトを行う場所です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.