2018-02-01から1ヶ月間の記事一覧

ブロックチェーンアプリケーション開発の教科書を読んでハマったところメモ

ブロックチェーンアプリケーション開発の教科書 / 加嵜長門(著), 篠原航(著), 丸山弘詩(編集)を読みました。 仮想通貨の基礎知識、事例:1-5章 Ethereumのスマートコントラクト実装:6-8章 今現在議論となっているトピック、これからブロックチェーンがどう…

【Golang】Disjoint-set algorithmによる無向グラフのcycle detectを実装する

Cycle in Undirected Graph Graph Algorithmを視聴したので、Disjoint set algorithmによるcycle detect実装してみます。 Disjoint set algorithmでは、以下3つの操作を使うことでcycle detectを行います。 MakeSet 各nodeだけの集合を作る(初期化) Union 2…

【Golang】reflect.DeepEqualでsliceとmapを組み合わせて比較する

先日、集合や族を扱うパッケージを書いていたところ、mapやsliceが混じった構造でどのようにEqualを実装するかで少しハマりました。reflect.DeepEqualの実装を見て解決したので備忘として整理します。 ちょうどGoで違うmapであることをテストする でも、同じ…

Golangでgraphパッケージを書いた

グラフ理論のアルゴリズムで遊ぶための前準備として、graphパッケージを自作してみました。 基本的な操作として、以下ができます。 無向グラフ/有向グラフの生成 頂点(Vertex)の追加/削除 辺(Edge)の追加/削除 How to Install $ go get github.com/cipepser/…