私は現在、都市と橋を扱う割り当てのコードを書いています。次のような尊敬される地区の都市と橋を印刷する必要があります。
//unorganized inputs from user given the # of "paths" we need
4 // the # of paths
1 2 5 // 1 = city , 2 = city, 5 = bridge length
6 7 5 // 6 = city , 7 = city, 5 = bridge length
2 3 7 // 2 = city , 3 = city, 7 = bridge length
6 9 7 // 6 = city , 9 = city, 7 = bridge length
プログラムを実行すると、次のようにソートされます。
first district
1 2 5
2 3 7
2nd district
6 7 5
6 9 7
ここで、cin を介してこれらの入力を読み取ります。1 2 5 などのすべての可能なパスを配列に格納し、プログラムで並べ替えて整理したいと考えています。問題は、ユーザーからのパスが 500,000 を超える可能性があることです。500k の動的配列を作成したいと考えています。これにより、メモリに関して深刻な問題が発生しますか?
kruskalのアルゴリズムや素集合など、これを解決する他の可能な方法を見てきました(最も役立つと思います)。ばらばらなセットのコーディングを理解するのに非常に苦労しています。もっと慣れ親しんだ方法を試してみました。
値を保存し、それらを比較および整理する場所に関するヘルプは素晴らしいでしょう。これに関する情報を読んだ場所へのリンクが役立ちます。ここ数日、たくさん読んだ。あまり役に立ちませんでした。
すべてを要約すると、私の質問は次のとおりです。
- 500k の動的配列は、メモリに関して深刻な問題を引き起こしますか?
- 値を保存し、パスを指定してそれらを比較および整理する場所は?