タグ

JavaScriptとアルゴリズムに関するkutakutatriangleのブックマーク (4)

  • 繋がりを可視化する グラフ理論入門|es

    個人的に、一番面白いデータ構造であり探索アルゴリズムです。 ここで言うグラフは円グラフや、棒グラフのことではないです。プログラミングで扱うのは、図のように、点と線を繋げたものです。 ズバリ、人と人の繋がりを表現できます。 今回もJavascriptで実装します。 グラフ理論は、SNSだったり、レコメンドだったり、地図の経路だったり ルーティングだったり、点と点の繋がりを可視化します。繋がりを表現するデータ構造です。 巨大なインターネットもそうです。 そいう意味で、すごく身近なアルゴリズムですよ。 グラフの基は次の2点で構成されています。 ・ノード:node(vertex) -  点(人、物、場所) ・エッジ:edge  - 辺(繋がり、経路) 上の図を見ると一目瞭然ですね。ノードを人だとしたら、エッジが関係性です。まずは、これだけ理解できれば大丈夫です。 ちなみに、方向がない辺を無向グラ

    繋がりを可視化する グラフ理論入門|es
  • Virtual DOMのアルゴリズムが知りたくてvirtual-domのコードを読んだ話 - saneyuki_s log

    Reactの登場以来気になっていた、Virtual DOMアプローチの具体的な差分抽出手法について、virtual-domを読んで確認してみた。 Reactをいきなり読むのは面倒くさかった・ミニマムな実装から読みたかったというのが、こっちを選択した理由。Reactのアルゴリズムが参考にされているものの、Reactには存在する特定の最適化が入ってないかもしれないので、あくまでもReact系のVirtual DOMを実装するには最低限何が必要かを知る程度のものと判断してほしい。 virtual-domについて ReactのVirtual DOM部分だけを切り出して再利用可能な形で再実装したライブラリ。elm-htmlとかMercuryといった箇所でvDOMインフラとして既に使われているので、まったくの趣味プロダクトという訳でもなくなっている。 README.md中での触れられている通り、Vir

    Virtual DOMのアルゴリズムが知りたくてvirtual-domのコードを読んだ話 - saneyuki_s log
  • はてブのホッテントリのタイトルを要約してWebの今を見つめる - Qiita

    GoogleReaderが終焉し、SmartNews,Gunosyなど寝ててもおすすめコンテンツが降ってくるサービスが注目を集めている今、ここでひとつ自分もなんか気の利いたものを作ってみたい。 というわけで、はてブの人気エントリーから記事を引っ張ってきて、 ズバリ一行に要約するプログラムを書いてみた。 はいこれ。 要約くん http://xiidec.appspot.com/markov.html これを使うと・・・ けだるいイオンがこの国でエリートコースに乗れると日の真相。 こんな感じで なぜ高学歴の差別発言が求められるのかって生産性を欲しがった話をどうするか。 今話題のニュースがごちゃ混ぜになって一行に要約される。 浜崎あゆみの件、原子炉に十分届かず 炉心溶融の差別発言が続出。 Webの今が1行で分かる! 仕組み サーバサイド(Python)で、はてなブックマーク人気エントリーの

    はてブのホッテントリのタイトルを要約してWebの今を見つめる - Qiita
  • reduce関数は結構有用っていうお話 - あと味

    JavaScriptに限った話ではないのですが、reduce関数を持つプログラミング言語がいくつかあります。 JavaScriptに関しては、一応、ECMAScript5の仕様に登場するようで、将来的にはどのブラウザでも使えるようになりそうな気配はあります。 Standard ECMA-262 また、MDCではreduceのアルゴリズムが掲載されているので、これを利用すれば現時点でもどのブラウザでもreduce関数を利用することができます。 reduce関数とは? MDCに掲載されている文章を引用します。 配列の(左から右へ) 2 つの値に対して同時に関数を適用し、単一の値にします。 JavaScriptのreduceは、配列のメソッドです。左ら右へとありますが、右から左へ関数を適用するreduceRightという関数もあります。*1 どういう時に使えるか 元となる配列があって、それを累積

    reduce関数は結構有用っていうお話 - あと味
  • 1