[Golang]アルゴリズム学習を学習しよう ~ハッシュ関数を自作する~

こんにちは。KOUKIです。

とあるWeb系企業でGoエンジニアをしています。

Golangでアルゴリズムの学習をしましょう!

今回は、ハッシュ関数を自作したいと思います。ハッシュを作成するためのパッケージは既にGoには存在するのですが、頭の体操になると思います^^

課題

以下の文字列のハッシュ値を返すプログラムを実装しよう。

「Selfnote is the most wonderful blog in the world!」

回答

実装方法はいくつかあると思いますが、私は以下のように実装しました。

単純な処理であるため解説は不要かと思うので、プログラムを実行してみましょう。

常に同じ値の返してますね。文字列を以下のように変更してみましょう。

「Selfnote is the most wonderful blog in the world! but, there are many blogs is more wonderfule thant selfnote after all!」

OKですね。現在は数値だけですが、文字や記号などを組み込むともっといい感じになると思います。

まとめ

今回のアルゴリズムの肝は、「同じ文字列を引数で渡した時、常に同じ結果を返すにはどうしたらいいのだろう」ということを考えることにあります。

このようなことを考えていてくとatomicなプログラムを書くときにも役立つ…かもしれません^^

それでは、また!

Go記事まとめ

アルゴリズムまとめ

Go記事まとめです

ソースコード

コメントを残す