私はアルゼンチン出身ですが、データ構造のクラスを受講したことのある人なら誰でも、グラフが何であるかを知っていると思います。そうすれば、どのような実装が「一般的」または「標準的」であるかを知っているかもしれません。これは、リストまたは配列を介して実装できます。ウィキペディアでさえこれを言っています。マーク・アレン・ワイス、ブルーノ・プライス、ルイス・ジョヤネス・アギラールも同様です。
事はです。これが良い方法ではないと誰も考えたことがありませんか?最も推奨される方法は、リストを使用することです。しかし、頂点の間にエッジが1つしかないことを考えると、リストがこれを行うための優れたインターフェイスであるとは思いません。つまり、VertexV1がVertexV2に接続されている場合、エッジは1つだけです。
リストではなくセットになると思いませんか?
Class Vertex{
private Set edges;
private Object data;
/** Methods**/
}
いくつかの意見を知りたいだけですが、どう思いますか?
ありがとう!!
編集: また、グラフに繰り返し要素を含めることができないと思われる場合は、挿入時の頂点のルックアップを最小限に抑えるためにHashSetが適しています。