『Javaによるアルゴリズム事典』サポートページ
奥村晴彦,
首藤一幸,
杉浦方紀,
土村展之,
津留和生,
細田隆之,
松井吉光,
光成滋生
『Javaによるアルゴリズム事典』
(技術評論社,2003年,ISBN4-7741-1729-3,2580円+税)
のサポートページです。
ソースコードのダウンロード
更新記録
- [2003-05-09] 公開
- [2003-05-12] BDCbrt.java, BDSqrt.java, BDtoE_Form.java, BinarySplitE.java, BinarySplitPi1.java,
BinarySplitPi2.java のコメントを修正しました
- [2003-06-07] NormalRandom.java 修正(→サポート情報の「p.154」)
- [2003-08-09] Lagrange.java 修正(→サポート情報の「p.423」)
- [2003-08-09] CfInt.java 修正
[本文(p.347)では「y の値が等しい点があると使えない」と書きながら,ソース集には y
が等しい例が書かれています (Thanks: 丸山さん)。Javaでは 0.0 で割るとエラーではなく Infinity
になり,この場合は結果的にうまくいきますが,常にうまくいくわけではありません。]
- [2003-08-16] Newton.java 修正 (本に載っているリストは正しいものです)
- [2003-11-03] アーカイブ中の CMatrix,GJMatInv,LUMatInv,UTMatInv
のサンプルコードで配列自身を System.out.println()
しているというバグを修正しました。
- [2006-04-04] アーカイブ中の GJMatInv.java
の19行目(本文p.45の10行目に相当)が微妙におかしくなっていましたので修正しました。
本文は問題ありません (Thanks: 田村さん)
- [2006-11-21] アーカイブ中の PinkNoise.java と PinkFilter.java を更新しました。
サポート情報
- pp.19-20「円周率」の項目で相加相乗平均を使う方法の解説
- a1 = 1, b1 = ……
→ a0 = 1, b0 = ……
なお,式の第3辺の和で k = 0 の項だけは第2辺の流儀で計算します。
あるいは次のように変形してもかまいません。
\[
\pi_n = \frac{2a_{n+1}^2}{1 - \sum_{k=0}^{n}2^{k}(a_{k}^{2} - b_{k}^{2})}
= \frac{4a_{n+1}^2}{1 - 2\sum_{k=1}^{n}2^{k}(a_{k} - a_{k-1})^{2}}
\]
(Thanks: 岡本さん)
- p.84 GCDandLCM.java 10行目
- while ((Math.abs(t) % 2) != 0) t /= 2; の != は == の誤植です。
ソース集は正しくなっています (Thanks: 篠田さん)
- p.89 PinkNoise.java 15-16行目(とプログラム上の解説)
- ピンクノイズはパワースペクトルが1/fに比例するのですから,振幅は1/sqrt(f)に比例しなければなりません。
単純なミスでした。ご指摘いただきました読者のくぼ まさお様と著者陣の細田さんに感謝いたします。
プログラム15-16行目は次のようになります:
double scale = 1.0 / Math.sqrt(i);
x[i] *= scale; x[N-i] *= scale;
y[i] *= scale; y[N-i] *= scale;
- p.154 NormalRandom.javaリスト34行目
- s > 1 は s >= 1 のほうが良い。
ぴったり s = 1 になる場合を通すと,0 が2回続いて現れるので,気持ちが悪い
(Thanks: 工藤さん)
- p.191 図
- 右上の -R のマイナスが印刷段階で抜けてしまいました
(どうしてTeXなのに印刷段階で誤植が? 答えは『pLaTeX2e美文書作成入門』次版にて)
- p.267,11-12行目
- return imag は return Math.abs(imag)
であるべきです。return real も同様です (Thanks: 小澤さん)
- p.298,1行目
- 反値幅→半値幅 (Thanks: 丸山さん)
- p.389 下の式
- c63=192 → c61=192 (Thanks: 中島さん)
- p.407 下6
- 復号同順→複号同順
- p.423 Lagrange.java 13行目
- += → *= (Thanks: 丸山さん)
追記
- p.40 騎士巡歴の問題
- 8×8盤面で騎士の道順に沿って1〜64の番号を降って魔方陣を作ることはできないことがわかりました。
Computing Magic Knight Tours
There Are No Magic Knight's Tours on the Chessboard (MathWorld)
- p.66 組合せの生成
- 山田さんが BitSetを使った実装
を公開されています
- p.413 ISBNコード
- 2007年にISBNコードはチェックディジットの計算法も含め改訂されます:
ISBN規格改定のお知らせ(リンク先がサラ金のサイトになっていたのでリンクを外しました。ご指摘ありがとうございます)
著者・編集者への連絡方法
お気づきのことがありましたら右のアドレスまでメールでご連絡いただければ幸いです(ジャンクメール屋にアドレスを自動収集されないように画像にしています):
ご質問については必ずしもお答えできるとは限りません。
特にプログラミングの相談・個人指導はご容赦ください。
奥村晴彦
Last modified: