サブロウ丸

大学生です

アルゴリズム周辺

Python 巡回セールスマン問題

巡回セールスマン問題をpythonで解きます。 問題の概要はwikipediaをご覧ください。 巡回セールスマン問題 - Wikipedia 01整数計画法を使っても解けますが、今回は動的計画法を使用します。 擬似コード (字が汚くて、ごめんなさい) pythonコード DPは配列で…

Python 集合と自然数との対応付け

下記のような、集合と自然数の対応付けを考えます。 {0, 1, 2, 3} <—> 15 基本的な考えは2進数表記です。 {0, 1, 2, 3} <—> 20 + 21 + 22 + 23 = 15 {0, 1, 3} <—> 20 + 21 + 23 = 11 これをそのまま関数にすると、 def set2int(_iter): res = 0 for i in _i…

Pythonで素数列挙

エラトステネスの篩を使った素数判定法をpythonで実装しました