Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

グラフの多様化 #38

Open
chaemon opened this issue Jul 15, 2021 · 0 comments
Open

グラフの多様化 #38

chaemon opened this issue Jul 15, 2021 · 0 comments

Comments

@chaemon
Copy link
Collaborator

chaemon commented Jul 15, 2021

グラフのデータ構造について以下のようなものを考えており、dijkstra等のグラフ処理はできるだけすべての場合に対応させたいです。(すべてのアルゴリズムに対応させるのが結構大変。。。)

  1. 整数のノード, 配列による隣接ノード(達成)
  2. 整数に限らないノード, 配列による隣接ノード, 整数のid関数を指定(達成)
    • id関数によってノードの一次元配列での管理が可能
    • idの逆関数が必要かも。。。
  3. 整数に限らないノード, 関数による隣接ノード, 整数のid関数を指定(達成)
    • 隣接点は到達したときにはじめて呼ばれるため、最初から配列を用意する必要がない。各種のアルゴリズムで到達しない点の分だけ高速化が期待される。
  4. 整数に限らないノード, イテレータによる隣接ノード, 整数のid関数を指定(達成)
    • 関数指定と似ているがイテレータの方が指定がしやすい。
    • イテレータはclosureでないとだめそう。closureのイテレータのリセットはdeepCopyでやった(これが最善か?)。しかし遅いかも?
  5. 整数に限らないノード, 関数・イテレータによる隣接ノード, idなし(未達)
    • ノードの構造が複雑でidを振ることが難しい場合に使うことを想定
    • ノードはTableで管理する。その際の性能低下は許す
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant