JAVA

実験の課題が3つあって、1つ目が Suffix Arrayを作ってファイルからある単語が表れる位置を表示するプログラムを作ることで、2つ目があるwebページを起点として、そこから辿ることができるリンクを集めるプログラムで(基本的には同一ホスト内)、最後の課題が先の2つのプログラムを組み合わせて、webページの検索を行うって感じのやつで、1つ目と2つ目を作り終えて動きもチェックして、最後のやつを作って実行させてみたら、


OutOfMemoryError


そりゃね。でも説明では辿った全てのページが入れられるような巨大なメモリを確保して、それを Suffix Arrayに変換してって、これからもう嘘くさい感じもするが。だって、たとえ一文字づつ少なくなっていくと言っても、n文字あったらn個の文字列の配列が必要で、それが巨大になればなるほどたくさんのメモリ(n!文字分)が必要になるんじゃないの?何かうまい作り方があるのかな?