タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

algorithmとprogrammingに関するqnighyのブックマーク (2)

  • ベアストウ法を実装した - TopCoderとJ言語と時々F#

    以下の高次方程式の解を全て求められる。 試しに を解いてみると >>> solve([16, -152, 324, 162, 80, 50]) [(1.7058483573106117e-15+0.5000000000000019j), (1.7058483573106117e-15-0.5000000000000019j), 4.999999960549872, -0.5000000000000036, 5.000000039450128] となり、複素数解や重解が求められているのがわかる。また、第二引数に精度が指定できるようになっている(デフォルトでは1e-9)。 >>> solve([16, -152, 324, 162, 80, 50], 1e-15) [(-1.5133374263982614e-17+0.5j), (-1.5133374263982614e-17-0.5j),

    ベアストウ法を実装した - TopCoderとJ言語と時々F#
  • B木 - naoyaのはてなダイアリー

    昨年から続いているアルゴリズムイントロダクション輪講も、早いもので次は18章です。18章のテーマはB木(B Tree, Bツリー) です。B木はマルチウェイ平衡木(多分木による平衡木)で、データベースやファイルシステムなどでも良く使われる重要なデータ構造です。B木は一つの木の頂点にぶら下がる枝の数の下限と上限を設けた上、常に平衡木であることを制約としたデータ構造になります。 輪講の予習がてら、B木を Python で実装してみました。ソースコードを最後に掲載します。以下は B木に関する考察です。 B木がなぜ重要なのか B木が重要なのは、B木(の変種であるB+木*1など)が二次記憶装置上で効率良く操作できるように設計されたデータ構造だからです。データベースを利用するウェブアプリケーションなど、二次記憶(ハードディスク)上の大量のデータを扱うソフトウェアを運用した経験がある方なら、いかにディ

    B木 - naoyaのはてなダイアリー
  • 1