参考書  アルゴリズム×疑似言語  の問題が分からない

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
INTJ高校生さん  
(No.1)
こんにちは。参考書「アルゴリズム×疑似言語」のP137「▶空欄a」の3行目。「hashTbl[h,1]が0であれば~最初のデータです。」が分かりません。つまり、「hashTbl[h,1]が0であれば~=最初のデータです。」ってことですよね。おかしくないですか。だってすべての要素は0で初期化されてるんじゃないですか?だったら全ての要素は「同じハッシュ値を持つ最初のデータ」になるんじゃないんですか?多分僕が変な勘違いをしていると思うので解説お願いします。
2023.12.25 12:55
ニュートンさん 
(No.2)
要素一個ずつトレスしてみる方法が一番わかやすいと思います。確かに、hashTbl[h,1]が0として初期化してあるが配列の要素12と17の場合にhが3と計算になります、ですが12が既に(3、1)に入っており17の場合にはelse条件式に移ります。因みにこの場合hashTbl[h,1]が0じゃなく12です。
2023.12.25 13:32
INTJ高校生さん  
(No.3)
この投稿は投稿者により削除されました。(2023.12.25 16:33)
2023.12.25 16:33
INTJ高校生さん  
(No.4)
すみません。それは理解しているんですけど、日本語の問題だと感じていて例えば要素番号1の場合、あまりが5なので  hashTbl[5,1]=0  という関係は成り立っていますよね。だけど「それが成り立てば必ずdate[i]が、同じハッシュ値をもつ最初のデータです」みたいなことが書かれているんですけど、ハッシュ値が5のハッシュ値は1つしかないので本書3行目は少し違和感があるんですけどどうですか。とんちんかんな事を言っていたら申し訳ありません
2023.12.25 16:34
boyonboyonさん 
FE ブロンズマイスター
(No.5)
参考書を持っていないので、書き込み内容で考えました。

>「hashTbl[h,1]が0であれば~最初のデータです。」
の解釈ですが、
「hashTbl[h,1]が0ということは、初期化状態でまだデータは入っていない。だから、現在対象としているデータがここに入るならば最初のデータになります。
のように思えますが如何ですか。
ピントがずれていたらすみません。
2023.12.26 00:37
アラフォー文系さん 
(No.6)
私は、

同じハッシュ値(3)を持つ最初のデータ(12)
同じハッシュ値(3)を持つ2番目のデータ(17)
同じハッシュ値(3)を持つ3番目のデータ(22)

というように読みました。
boyonboyon様と同様の見解です。
2023.12.26 18:46
INTJ高校生さん  
(No.7)
みなさんのおかげで理解することができました。ありがとうございました^_^
2023.12.27 17:50

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop