一定の、順序付けられていない、重み付けされていない、まばらなグラフを実装しようとしています(つまり、エッジは移動しません)。ただし、多くの頂点スワップ操作を行うことで、頂点の順序が変更されます。
たとえば、1 つの方法は、unordered_sets + 隣接リスト構造のベクトルを使用することです。
0: 1 2 3
1: 0 2
2: 0 1
3: 0
0 と 3 を入れ替えます。
0: 3
1: 3 2
2: 3 1
3: 1 2 0
C++ での最適な実装は何ですか?