Website for visualizing recursive functions. Helps to debug and understand how your recursive algorithm works
LDR x HTML::Feature in client – Userscripts.org 操作はeで選択したエントリを抽出、抽出した状態で再度eで折りたたみ。shift+eで文字コードを変えて再抽出。shift+eでの文字コード変更はshift_jis -> euc_jp -> utf-8を繰り返しです。デフォルトでutf-8で取得するのでutf-8以外の内容の場合に(2007-11-03)文字コードを自動検出して適切なコードに変更するようにしました。それでも文字化けしたらshift+eしてみてください。 TSUBUAN APIを使ったldr上でのEntryFullTextもどきをベースにしています。 HTML::Featureの詳細についてはHTML::Feature - 重要部分を抽出するモジュール - - ダウンロードたけし(寅年)の日記を参照ください。 ちなみにjavascr
HTML::Feature - 重要部分を抽出するモジュール - - ダウンロードたけし(寅年)の日記 ↑こちらで紹介されていたCPANのモジュールでHTMLの重要部分が抽出できるとのことで、ちょっとまねしてみました。 といっても記事に書かれていたアルゴリズムとソースをチラっとのぞいた程度なのでおそらくきちんと移植できてはいないのですが、いくつか試したところ同じ結果が得られたのでまぁいいのかもというレベルです。 肝心なソースはこちら↓です。 karaoke_html_feature.user.js ↑こちらのソースの中にHTML::FeatureをまねしたgetFeatureNode関数を定義していて、 カラオケアニメーション対象の文字列を今まではページ内の文字全てにしていたのを、getFeatureNodeで得られたノード内にしています。 いつもどおり速度性能は全く意識せずに書いたのでg
2006年07月23日13:00 カテゴリLightweight Languages 再帰再考 今やこれは逆ではないか。 再帰的アルゴリズム まずは,非再帰プログラムで問題を考えてみる。 難しいと判断した場合,再帰プログラムで考えてみる。 むしろ私はこうしてきた。 まずは再帰で実装する。 速度と資源の制約があるとき、非再帰で実装しなおす 一番の理由は、今やプログラミングそのもののコストの方がプログラムを実行するコストよりも大きいからだ。早くプログラムを書く要請の方が速いプログラムを書く要請より強いからだ。 次の理由は、再帰は遅いとは限らないからだ。特にLisp系では、末尾再帰(tail recursion)は重くない。これはもうshiroさんが力説しているのでそちらを参照して欲しい。フィボナッチ数列を解くプログラムはとにかく、階乗を解くプログラムぐらいだとわざわざ再帰しないようにするご利益
まず、ループは再帰で表現できる ループというのはすべて再帰呼び出しで表現できる。 たとえば、コレは var array = [1, 2, 3]; for (var i = 0; i < array.length; i ++) alert(array[i]); こんな感じになる (function f(array, i) { if (i < array.length) { alert(array[i]); return f(array, i+1); } })([1, 2, 3], 0); もし、 array がこの目的以外に使われないならコッチのがキレイかも (function f(array) { alert(array.shift()); if (array.length) return f(array); })([1, 2, 3]); ということは、再帰はループで表現できるはず という
2006年08月30日18:30 カテゴリLightweight Languages javascript - シャッフルシャッフル なるほど。Schwartzian Transformの意外な利用法だなあ。 snippets from shinichitomita’s journal - JavaScriptの配列をsort関数でシャッフルする Array.prototype.shuffle = function() { return this.map(function(a){ return { weight: Math.random(), value: a } }) .sort(function(a, b){ return a.weight - b.weight }) .map(function(a){ return a.value }); } でも、実践ではどうだろう。調べてみた。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く