 | ■No23885に返信(zonoさんの記事) 理解できていない上に”線分”の用法に日本語で悩みますが,とりあえず.
> 編集により要素2番目を削除し詰めると > > 0 A-B > 1 B-C > 2 D-E > 3 E-F > 4 F-G > 5 G-A > > となり、上記の配列に格納されているデータを結合すると > A-B-C > D-E-F-G-A > と2つの線分と認識してしまいます。 > > なので上記の配列を > 0 D-E > 1 E-F > 2 F-G > 3 G-A > 4 A-B > 5 B-C > にソートし、結合時にD-E-F-G-A-B-Cとして > 1線分として認識できるようにしたいのですが、どのような > アルゴリズムを考えればいいのでしょうか? むしろそのアルゴリズムが分からないと何もいえないような… 私の考えでは,{AB, BC, CD, EF, FG, GA} から BC を削除する時に,BCの直前の要素を差し替えて {AC, CD, EF, FG, GA} にした方がよさそうな気がしますが. # 元のデータだと最初の要素 AB の頭("A")と最後の要素 GA のしっぽ("A")が同じでなければならないような気がするけど # 大丈夫なんだろうか.わからない
> 仕様としては可能な限り結合時の線分が少なくなるようにソート > を実施することです。 「結合時の線分は常に1つか,結合する線分が何もなくなり0になる.」だと思うのですが, ”結合時の線分が少なくなるように”とはどういう状況でしょうか? ついでにソートの必要性もわかりません. # そしてソートという単語を使っていいものかもわかりません.
> ※結合のロジックは都合上修正することができません。 つまりデータ構造は変えられないということですね. データ構造まで変えられるのなら連結リストという単語で検索してみてください. 本当にそのままな気がします.
|