2次元凸包の分割統治法での求め方について
Posted: 2012年1月05日(木) 02:12
学校の課題にて分割統治法を用いて凸包を求めよという問題を出されました。ちなみに用いる言語はC言語です。
凸包の求め方自体は分かったのですが、肝心の分割して統合していくまでの過程が分からず悩んでいます。
例えば既にソート済みの座標配列pがあったとして、マージソートの時と同様に再帰を用いてpを二分割していき、
そして細かく分割された座標配列ごとに凸包での座標を求め、そして統合していくかと思います。
問題はその統合の仕方で、マージソートの時はもとある配列の順番を入れ替えながら統合していきましたが、
今回は凸包に用いなかった要素はどんどん削除していき、必要な要素だけを集め統合していくかと思います。
しかしその統合の仕方が見当がつかず、どこでどのように凸包に必要な要素だけを含む配列に格納していけば分かりません。
問題が抽象的で分かりにくいかと思いますが、どなたか知恵をお貸しいただけたら幸いです。
凸包の求め方自体は分かったのですが、肝心の分割して統合していくまでの過程が分からず悩んでいます。
例えば既にソート済みの座標配列pがあったとして、マージソートの時と同様に再帰を用いてpを二分割していき、
そして細かく分割された座標配列ごとに凸包での座標を求め、そして統合していくかと思います。
問題はその統合の仕方で、マージソートの時はもとある配列の順番を入れ替えながら統合していきましたが、
今回は凸包に用いなかった要素はどんどん削除していき、必要な要素だけを集め統合していくかと思います。
しかしその統合の仕方が見当がつかず、どこでどのように凸包に必要な要素だけを含む配列に格納していけば分かりません。
問題が抽象的で分かりにくいかと思いますが、どなたか知恵をお貸しいただけたら幸いです。