私は、Excelテーブルのプロパティを模倣しているオブジェクト構造を持っています。だから私はタイトル、ヘッダー行オブジェクトとボディ行オブジェクトなどのプロパティを含むテーブルオブジェクトを持っています。ヘッダー行と各本体行オブジェクト内に、私は行ごとに各セルの情報を含むセルオブジェクトを持っています。私は、このオブジェクトのための私の用途の1つで、私はその構造をスクリーン印刷しているので、このテーブル構造を格納するためのより効率的な方法を探しています。現在、私は、各セルの各行を印刷するためのO(N^2)複雑さをしています:テーブルオブジェクト構造の複雑さの簡素化
foreach(var row in Table.Rows){
foreach(var cell in row.Cells){
Console.WriteLine(cell.ToString())
}
}
のn^2を避けるために、この構造を格納するより効率的な方法はありますか?この印刷機能は別のn^2ループに存在するため、私はこれを尋ねます。基本的に私はテーブルのタイトルのリストとテーブルのリストを持っています。タイトルがタイトルリストにあるテーブルを探す必要があります。次に、それらのテーブルのそれぞれについて、私は行と各行のセルを印刷する必要があります。ストレージのために別のデータ構造を使用することで、この操作のどの部分を最適化できますか?彼らはどのように正確に動作するかわからないが、私はハッシュと辞書について聞いたことがある?
おかげ
あなたはn列とn行を持つテーブルを印刷したい場合は、あなたがプリントアウトされたn個^ 2つの項目ので、N^2時間は避けられません。または、データの量が少ないため、これらのセルの小さな部分だけに印刷するデータがある可能性がありますか? – Chris
テーブルは正方形ですね。 – Jodrell
場合によってはストレージを最適化できますが、印刷を最適化することはできません。 – Svarog