-2

データ構造の語彙に関してたくさんの質問があります。私はこれらが何であるか/何をするかを知っていると確信していますが、私はそれらの適切な用語を学んでいないか、それらを忘れました。

クラスではハッシュテーブルを扱っており、「キー」と「バケット」という用語が出てきました。それらが何を意味するのかを調べてみましたが、これまでのところ、キーはハッシュテーブルの要素を参照し、バケットはハッシュテーブルの特定の場所を参照していることがわかりました。たとえば、HashTable [index]はバケットを参照します(必要に応じて、ハッシュテーブルの「行」)。ハッシュテーブル内のそのスポットにチェーンが含まれている場合(およびリンクリストが相互接続された「ブロック」で構成されている場合)、キーはそのチェーン内の単一の「ブロック」になります。あれは正しいですか?(お分かりのように、リンクリストの「ブロック」という用語も忘れてしまいました)

また、別のトピックでは、今年の初めに償却倍増を扱っていましたが、「償却分析」が何を指しているのかわかりません。

これらのいくつかはばかげた質問のように見えるかもしれませんが、私の用語を正しく理解したいと思います。(誰かが何かを説明するときに間違った用語を使用するとき、それがどれほどイライラするかを強調することはできません。私のCalc教授が「ドット積を行う」を「ベクトルを実行する」と言及するときのように)

前もって感謝します。

4

1 に答える 1

3

これは実際にはC++の用語ではありません。C ++には、unordered_mapハッシュテーブルのような機能を提供する、と呼ばれるものがありますが、「ハッシュテーブル」、「バケット」、「キー」などの用語は、一般的なコンピュータサイエンス/プログラミングデータ構造およびアルゴリズムの用語です。

詳細については、 http://en.wikipedia.org/wiki/Hash_tableを参照してください。また、この記事ではC++についてほとんど言及されていないことに注意してください。

于 2012-12-04T21:02:35.400 に答える