contemporary algorhythm 02

closest pair problem

input n point on Euclid space ( 2dimension)
p1(x1, y1) p2(x2,y2),
座標に、任意の点が散らばっている状態。

output どの点とどの点が一番、距離が小さいのか。

解法 片っ端から2点間の距離を計算する。

もっと速い計算法はないのか?

分割して、統治せよ

putting thing together 統治の本質
step0 preparation
sort n point along x axis
sort n point along y axis

procedure

点の集合を二つにわける
座標平面に、直線を1本ひく。
その直線の左右でわけてしまう。
その2つの点集合でclosest pairを算出。
手順 に分けていく。

dynamic programming

equal partition problem
input 整数の集合
output 2のグループに分ける

要素の和をとったときに、その和が等しくなるような二つのグループ
85 10 53 62 45 5
要素の数は問題にしない  1つと5つとかでもいい。
野球の試合を15人でやる
9人と6人とか。
8人と7人とか。
バランスのよい、人数割りを探す。