タグ

ブックマーク / qiita.com/lotz (3)

  • 挿入ソートと選択ソートは双対 - Qiita

    先日 Gotanda.hs #1 @HERP というイベントがあって、そこでRecursion Schemesで考える並べ替えアルゴリズムというタイトルでA Duality of Sortsという論文の話をLTしたんですが、この記事ではそこで話せなかった論文の後半で解説されている挿入ソートと選択ソートの双対性について書いていきたいと思っています。 ソートアルゴリズムの復習 まずは主役の二人である挿入ソートと選択ソートについて見ていきましょう。 挿入ソートは与えられたリストの先頭から要素を取り出し、これまでに構築したソート済みのリストに挿入していくという処理を繰り返すことでソートを実現するアルゴリズムです。 出典: Insertion sort - Wikipedia これをHaskellで実装すると以下のようになります。 insertSort :: [Int] -> [Int] inser

    挿入ソートと選択ソートは双対 - Qiita
  • 動的計画法を実現する代数〜トロピカル演算でグラフの最短経路を計算する〜 - Qiita

    トロピカル半環と呼ばれる代数構造上のトロピカル行列を利用すると動的計画法を使ってグラフの最短経路の距離を計算するという問題が単純な行列積で解けてしまうらしい。そんな噂12を聞きつけて我々はその謎を解き明かすべく南国(トロピカル)の奥地へと向かった。 トロピカルな世界に行くためにはまずは代数を知る必要がある。要するに群・環・体の話だ。しかしこの記事の目的は代数学入門ではないので詳しい話は他の記事3に譲るとし、さっそく半環という概念を導入する。それは 半環は以下の性質を満たす二つの二項演算、即ち加法(和)"$+$" と乗法(積)"$\cdot$" とを備えた集合$R$を言う $(R, +)$ は単位元 $0$ を持つ可換モノイドを成す: $(a + b) + c = a + (b + c)$ $0 + a = a + 0 = a$ $a + b = b + a$ $(R, \cdot)$ は単

    動的計画法を実現する代数〜トロピカル演算でグラフの最短経路を計算する〜 - Qiita
    masayoshinym
    masayoshinym 2019/07/11
    なるほど、わからん。
  • 作って学ぶBitcoin!ゼロから作るSPVウォレット - Qiita

    Bitcoinはもはや説明する必要がないくらいメジャーな存在になりました。その価格は2017/12/12現在で日円にして200万円を超えており1、技術的な知識を持っていない一般の人でも気軽に手に入れることができるようになりました。技術的な視点からみるとBitcoinそのものというよりもその基礎技術であるブロックチェーンが革命的なものであり単純な仮想通貨にとどまらない応用の可能性を秘めています。例えばEthereumはブロックチェーン上にプログラム(スマートコントラクト)をデプロイして実行できる環境であり、今年の12月にはCryptoKittiesというEthereumブロックチェーン上に実装されたゲームが大人気になりました。Lightning NetworkやPlasmaなどなど技術的な話題に尽きないのが盛り上がりを見せるブロックチェーン界隈の面白いところでありますが、今回はそのブロック

    作って学ぶBitcoin!ゼロから作るSPVウォレット - Qiita
  • 1