私は現在、英単語アプリに取り組んでいます。すべての単語が互いに異なるため、すべての単語に異なる int id が必要です。整数 (または long ?) を簡単に割り当てることができると思います。
アルファベット順にIDを連続して与えたくありません。この要件に対応する既存のアルゴリズムが存在する可能性があると思います。独自の車輪を発明したくないので、助けてください。
1 つの単語リストには何百、何千もの単語が含まれる可能性があるため、構造をコンパクトにしてインターネット経由で転送できるように十分小さくしたいので、整数 ID を好みます。
次のようなデータ構造があるとします。
struct word {
int wordId;
byte familiarity;
}
// I prefer the mapping like this
apple -> 0x1, 0x4
app -> 0x2E, 0x2
ape -> 0xEA, 0x1
アップデート:
さて、私がやろうとしているのは、ユーザーにいくつかの単語リストを提供することです。それぞれにいくつかの単語が含まれています。ユーザーはすでにいくつかの単語を学習している可能性があります (たとえば、リンゴ)。言葉、そして二度と現れないことを願っています。したがって、ユーザーがそれらの単語をスキップできるようにしたいと考えています。選択した単語はサーバーに送信されるか、ローカル ファイルに保持されます。単語またはフレーズ全体を送信する必要はないかもしれません。ここで質問を見つけました: http://stackoverflow.com/questions/7700400/whats-a-good-hash-function-for-english-words, もっと良い解決策はありますか?