タグ

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

  • 「Haskell入門ハンズオン!」事前資料 - 1/3 - Qiita

    Haskell概要 はじめに この記事は2017年7月15日に開催したHaskell入門ハンズオン!のための事前資料です。同記事を2018年11月3日のHaskell入門ハンズオン! #4のための事前資料としても使わせていただきます。あつかう内容はHaskellの処理系の導入と、Haskellの概要の説明です。この資料を完全に理解する必要はありませんが、処理系の導入をして、Haskellがどのような言語であるかを、ざっと目を通し、実行例などは1度、実際に手を動かして打ち込んでみてください。 「Haskell入門ハンズオン!」事前資料の一覧 概要 処理系の導入と対話環境 やってみよう 質問など 事前資料を読んでいくうえで生じた質問は、teratailでHaskellタグをつけて質問していただけると幸いです。あるいはfunpaala@gmail.comに、メールで質問していただくのでも、かまい

    「Haskell入門ハンズオン!」事前資料 - 1/3 - Qiita
  • 状態変化なしに効率的な辞書を実装する重み平衡木 - Qiita

    状態変化なしに効率的な辞書を実装する重み平衡木 はじめに キーを指定して値を検索したいことはよくある。このような操作のために作られたデータ構造を辞書や連想配列と呼ぶ。多くの言語では辞書としてハッシュテーブルを使う。ハッシュテーブルの時間効率は「いちおう」O(1)ということになっている。しかし、ハッシュテーブルは「状態変化」を前提としたデータ構造だ。ハッシュテーブルは挿入・削除の操作のたびに変化し続ける。 状態変化があるということはコードの実行順序によって値が変化する可能性があるということだ。状態変化による結果を完全に理解することは人間の得意とするところではない。すぐに人間の思考はごちゃごちゃになってしまう。そしてよく訓練されたHaskellerなら非質的な状態変化を「美しくない」と感じるはずだ。 リストによる辞書 そうだリストを使おう。リストを使えば状態変化にわずらわされることはない。キ

    状態変化なしに効率的な辞書を実装する重み平衡木 - Qiita
  • 1