タグ

ブックマーク / qiita.com/sasanquaneuf (2)

  • やさしいスターリンソート入門【実用的】 - Qiita

    概要 最近、巷ではスターリンソートというソートが流行っています。 ソートされていない要素を粛清することでO(N)でソートできるスターリンソートとかいうのを見て爆笑してる — やんぎん (@4116You) July 28, 2019 スターリンといえば粛清、というような考え方によるソートです。 しかし、ちょっと待ってください。スターリンには粛清以外の選択肢もありました。 すなわち、シベリア送りです。 この記事では、粛清ではなくシベリア送りによる「やさしいスターリンソート」を実装し、データの量を減らすことなく、計算量を減らします。 それによって、銀河に平和をもたらします。 ※このソートは、「スターリンソート」とは異なるのでご注意ください。 「やさしいスターリンソート」とは スターリンソートでは、ソート順に反する要素を粛清することによりソートをしていました。 やさしいスターリンソートでは、粛清

    やさしいスターリンソート入門【実用的】 - Qiita
    igrep
    igrep 2019/08/24
    “え? Nが大きな値の時はどうするのか? シベリアは広大なので、そんなことは気にしません。”
  • 左と右は対称的ではなかった!? Haskellのfoldrでアハ体験 - Qiita

    概要 foldlとfoldrについて、 foldrなら無限リストを扱える 逆ポーランド記法ならfoldlとfoldrは入れ替わる? というような話題に関して少し掘り下げた記事です。 注意 この記事を読むと、左と右が質的に対称的でない概念であるような錯覚を起こします。子どもに左右の概念を教育しているママ/パパの方はご注意ください。 また、もともとQiitadonのトゥートだったので多少文体が変ですが、ご容赦ください。 左右の難しさとfoldrの"操作"と無限リスト 元トゥート(の一部) foldl/foldrと左右って難しくて、記法に対する単純な左右ということでもない。 foldlは、二変数関数fを第一引数に受け取って、fに第二引数と第三引数のリストの頭を適用した結果をさらにfに適用する。ので、仮にfoldlという関数を素朴に逆ポーランド記法で書くと、リストの表現の仕方にもよるけど、多分左

    左と右は対称的ではなかった!? Haskellのfoldrでアハ体験 - Qiita
  • 1