0
私は各人のスコアを計算するポイント賞品システムのアルゴリズムを実装しています。すなわち、ポイント賞品と返品を計算するアルゴリズム
- 人物A招待者B;
- 人物A招待者C;
- 人物Bが人物Dを招待しました。
- 者Dが人E. に
を招き、結果は次のようになります
- (BはDを招待しているため招待B及びC理由5点、2.5点)人物Aが12.5点を有します;
- 人Bは12.5ポイント(招待されたDのため5ポイント)を持っています。
- 人Bは12.5ポイント(招待されたDのため5ポイント)を持っています。
この関数を書くには、どのようなアルゴリズムが適していますか?私はDjikstraを使うことを考えていましたが、私は2人の人の間の道を見つけるための関数を書いていたならDjikstraは素晴らしいでしょう。
私は2つのソリューションを実装しました。最初のものは、各ノードが識別子と子ノードのリストを持つTree-likeです。私がやったもう一つの解決策は単純です:マップfuncionaを適用するだけです。もっと "正しい"ものは何でしょうか? – placplacboom
私が必要とするのは、私が書いた例のように、リストと計算上のスコアを読むことです。私はこれが簡単だと思います。 – placplacboom
ツリーのようなものは私が書いた再帰より速いです – placplacboom