この質問はこのサイトの趣旨に沿っていなければ申し訳ありません
今辞書アプリなるものを初めて作っていまして、この疑問にあたりました
辞書アプリの検索機能のプログラムについての質問です
辞書アプリなどの大量の情報が必要なアプリで、任意の単語を検索機能で検索すると一瞬で該当するものが表示されます。そんな一瞬でヒットできるものなんでしょうか
例えば、英和辞書なら見出し語が9万語以上あるのにそんな一瞬で探し出せるのでしょうか?
というのも素人考えで、検索機能を考えたんですけど
見出し語がリストに格納してあって、検索にかけられた単語と1個1個一致するのを探していく
見出し語リストは、頭文字がどのアルファベットから始まるかでaからzでふり分けられていて、で、検索にかけられた単語の頭文字と一致するところをまた1個1個一致するまで検索していく
これで検索する量が多くとも6分の1ほどの1万ちょっとには抑えられます(sから始まる単語が全体の1/6くらいある)
//見出し語のリスト (語順適当です) //List = [[apple,...], [bat,...],[candy,..],. .... ,[zoo,...]]
みたいなイメージです
1万個のデータのどれと一致するか判断するのに1,2秒じゃ足りないと思います
何か根本的に違う検索の仕方をしているんでしょうか
もうひとつ質問があってデータについてです
単語の説明文などはtxtでまとめて保存すべきかとかプログラムにstringで直に書き込んでいくべきかなどそういったことは、どういううキーワードで調べたらいいですか
回答よろしくお願いします
回答7件
あなたの回答
tips
プレビュー