2010-12-08 13 views
0

プレーンテキストファイルの中で単語の出現を数えたいと思います。ちょうどここのようにhttp://doc.trolltech.com/4.5/qtconcurrent-wordcount-main-cpp.htmlC++ Qt WordCountと大きなデータセット

私は非常に大量のプレーンテキストファイルを処理する必要があるため、QMapでうまくいけない結果がメモリに収まらないという問題があります。

私は外部メモリ(ファイルベース)のマージソートアルゴリズムをGoogleで検索しましたが、自分自身を実装するにはあまりにも怠惰です。だから、私は結果セットを分割してそれぞれをメモリに合わせたいと思っています。次に、この部分をディスク上のファイルに保存します。その後、マジック関数mergeSort(QList、result_file)を呼び出して、result_fileに最終結果を返します。

誰でもこのアルゴのQt互換の実装を知っていますか?

要するに、私はpythons heapq.merge(http://docs.python.org/library/heapq.html#heapq.merge)アナログを探していますが、Qtコンテナを探しています。

答えて

0

あなたはこの1つをチェックしたいかもしれません: http://stxxl.sourceforge.net/

それは(しかし十分に近く)あなたが探しているまさにではないのですが、私はあなたがQtのリストで作業したい正確に何を見つけることができませんね。あなたがこのリストを作成するalghoritmを実装しているので、そのタイプを変更することは問題ではありません。私がこれらのリストで覚えている限り、あなたはalghoritmsをソートする標準的なstlを使うことができます。唯一の問題は前向きなものです。

0

私は、マップに単語と出現回数の関連が含まれていると仮定します。この場合、なぜあなたはそのような大きなメモリ消費量を持っていると言いますか?あなたが持つことができる単語とフォームの数はどれくらいありますか?また、1語の平均メモリ消費量はいくらですか?

単語1文字あたりのメモリ消費量(ワードテキスト、QMap固有の記憶域を含む)が1.000.000であることを考慮すると、1GBのメモリにつながります私に。

関連する問題