昨日実装したWard法の処理だが、200件程度なら2秒で終わるが、詳しく調べると、400件で10秒、700件で60秒と、O(n**2)どころか、「もしかしてO(2^n)?!」ぐらいのできであった(T_T)。。。
その99%は距離計算直し対象の発見と選り分けの部分であり、本来のWard法の距離計算の部分は微々たるもの。
今後はこの選り分け対象の部分でちゃんとインデックスの効いた選り分けができるように変更すべきか。
やはり、まずは王道に従って、きちんとした行列データとして距離を持つべきだろう。
作り直しだ。