今年の始め、私が Rust を習いはじめのころ、手本となるプログラムがあまり見つからないことが不満でした。GitHub で探せば、Rust で書かれた実用的なライブラリーが数多く見つかりますが、それらを読むのは入門者にとっては敷居が高過ぎます。私が欲しかったのは、学習用に書かれたプログラムで、入門者が手軽に試せて、いろいろといじれるプログラム例でした。 そんなわけで、そういうプログラム例を書いてみようと思います。2回に分けて、Rust で簡単なツールを作ります。 今回は乱択アルゴリズムの一種である、probability cardinarity estimatior(確率的カーディナリティ推定機)を実装します。HyperLogLog という名前のデータ構造です。 次回は HyperLogLog を使って、ウィキペディア日本語版の全記事で使われているユニーク単語数を、プラスマイナス約 2%
