隣接リスト表現を使用しています。
基本的
A:[B,C,D] means A is connected to B,C and D
今、グラフにエッジを追加する方法を (Python で) 追加しようとしています。
しかし、エッジを追加する前に。2 つのエッジが接続されているかどうかを確認したい。たとえば、2 つのノード D と A の間にエッジを追加したい (A と D が接続されているという事実を知らない)。
したがって、ハッシュ/辞書にキー「D」がないため、false が返されます。
今、非常に単純に、D と A をチェックし、次に A と D もチェックできます..しかし、それは非常に面倒です。または、2 つのノードを接続するたびに、いつでも複製できます。
つまり、A と E を接続する場合.. A:[E] create E:[A]
しかし、これはあまりスペース効率が良くありません。
基本的には、このグラフの方向を独立させたいと考えています。
これを解決するのに役立つデータ構造はありますか?
私の質問が理にかなっていることを願っています。