「最小全域木の生成-クラスカル算法-」(中級):OCaml演習 -71問目-

 無向グラフについての練習問題と答案です。問題は、OCaml公式ページのものを使いました。答案の作成時間は、約三日でした。

問題71.

 所与の標識付きグラフ(labeled graph)における最小全域木(minimum spaning tree)を求める関数ms_treeを書け。

定義と用語

標識付きグラフ:辺に重みが付けられたグラフ(記事では重付きグラフと呼びます)
最小全域木:辺の重みの総和が最小になる極大木
極大木: 全ての節を含む木
木: 閉路を持たない連結グラフ
連結グラフ: 孤立節を持たないグラフ
孤立節:いずれの節とも隣接していない節

答案

本問の解き方

 前回の記事で予告したように、今回はクラスカルの算法を使います。

 算法が決まってしまえば、後はその通りに実装するだけなので小学生でもできるでしょう…でしょう…

 イキって偉そうなことを書きましたが、グラフ項形式のままだと、どうしても閉路の判断を実装できませんでした。
 しかたがないので、隣接リスト形式に変換、再変換しています。
 つまり、私の実力は小学生以下と言うことですね…

コード

感想

 前回の記事のビュー数が一週間で「4」でした。読まれた数ではなく、インプレッションの数が「4」です。

 さすがに、この状況だと記事を書く意味が全くありません。

 そこで、Zennに切り替えることにしました。
 Zennには技術レベルの高い記事が多いので、(たとえ自身の記事が読まれなくても)、他人の記事を読むだけで楽しめます。
 正直、noteの上っ面だけのカスみたいな記事にはウンザリしていたので、良いキッカケになりました。

 別にnoteを否定したい訳ではありません。
 noteは、情弱向けに情報商材を売りつけるプラットフォームとしては優秀だと思います。
 ただ、今の私には、バカたちを騙すための技術も能力も不足しています。
 いつかアホどもをペテンにかける自信が付いたら、ぜひnoteに有料のゴミをまき散らしに戻りたいと思います。

ここから先は

0字
正答のときもあれば、誤答のときもある

OCaml演習

1,000円

OCamlの公式ページに掲載されている問題と答案

古往今来得ざれば即ち書き得れば即ち飽くは筆の常也。と云うわけで御座います、この浅ましき乞食めに何卒皆々様のご慈悲をお願い致します。