ハッシュ法(hashing)は、メモリ上でデータを高速に検索するための手法である。各種のツリー構造とは異なり、静的な配列だけで簡単に実装でき、効率も極めて高い。このため、非常に実用的な手法として重宝である。 配列上でデータを検索する手法には、ハッシュの他いくつかある。以下、単純な手法から順に説明していき、ハッシュ法の説明に至ることにしよう。 ある小さな会社の社員情報をメモリ上で処理する場合を考えてみよう。社員情報のキーとして社員番号(整数)を用いることだけを決めておき、その他については考えないことにする。 (1)単純配列 データの出現順に配列につめていく。もっとも単純かつ基本的な方法。 データの挿入は高速だが、検索は端から順に見ていく(リニアサーチという)しかないため、平均するとデータ件数(社員数)の半分について処理が必要となる。 この手法は遅いので、データ件数が多い場合には使われない・・
[頂いた回答・コメント、その後の考察によって得た結論を自己回答として投稿しました。] ターゲットとなるディストリビューション: CentOS 6.2 x86-64 版。ただし、他のディストリビューション -- 特に新しめのもの -- についての情報も歓迎です。 背景Linux において、プログラム中から、何か別コマンドを実行したい場合、以下のいずれかの方法がよく使われると思います。 fork() + exec系() + waitpid() (その場で完了待ちしたい場合) fork() + exec系()。SIGCHILD を受けて wait系() (親と並列に実行させたい場合) system() ※ その場で完了待ちしたい場合と、親と並列に実行させたい場合の2通りを挙げましたが、今回必要としているのは前者。とはいえ、後者の場合でも問題は共通なので列挙しました。 ところが、大量にメモリを使
第二次世界大戦時のCIAの秘密資料。題してSimple Sabotage Field Manual。要は、敵国内のスパイが、組織の生産性を落とすためにどのような「サボり」ができるか、という「サボり方ガイド」である。2008年に公開された。(なお、正確に言うと、CIAの前身組織、Office of Strategic Servicesの作成文書である。) 以下、一部を抜粋した意訳です。本文は意訳の後に。 「注意深さ」を促す。スピーディーに物事を進めると先々問題が発生するので賢明な判断をすべき、と「道理をわきまえた人」の振りをする 可能な限り案件は委員会で検討。委員会はなるべく大きくすることとする。最低でも5人以上 何事も指揮命令系統を厳格に守る。意思決定を早めるための「抜け道」を決して許さない 会社内での組織的位置付けにこだわる。これからしようとすることが、本当にその組織の権限内なのか、より
Pythonで音声信号処理(2011/05/14) 今まで作ってきたFIRフィルタ(2011/10/23)に続いて、今回は、IIR(Infinite Impulse Response)フィルタをためしてみよう。IIRフィルタでもローパス、ハイパスなどのようなフィルタが作れる。FIRフィルタよりタップ数を小さくすることができるためより高速なフィルタになるのが利点のようだ。 IIRフィルタの定義式は、 x(n)は入力信号でy(n)は出力信号。FIRフィルタとの違いは、過去の出力信号がフィードバックされる点。第1項は、FIRフィルタの式そのものだが、第2項で y(n-j) と過去の「出力信号」が使われている。FIRフィルタと同じようにZ変換してがしがし計算していくと、IIRフィルタの伝達関数 H(z) は、 となる。A(z)とB(z)はフィルタ係数のZ変換の式がそのまま入る。 IIRフィルタの設
A three-dimensional finite element mesh generator with built-in pre- and post-processing facilities Christophe Geuzaine and Jean-François Remacle Gmsh is an open source 3D finite element mesh generator with a built-in CAD engine and post-processor.Its designgoal is to provide a fast, light and user-friendly meshing tool with parametric input and flexible visualization capabilities. Gmsh is built
NLopt NLopt NLopt is a free/open-source library for nonlinear optimization, providing a common interface for a number of different free optimization routines available online as well as original implementations of various other algorithms.Its features include: Callable from C,C++, Fortran, Matlab or GNU Octave,Python, GNUGuile,Java,Julia, GNU R, Lua, OCaml,Rust and Crystal. A common interfa
PanuaTechnologies develops customized high-end software solutions for large-scale prediction,simulation, optimization, and graph analytics. Panua - Ipopt The powerful nonlinear solver, with Panua-Pardiso integrated init, offering a wide range of performance and robustness improvements. Download Panua - Pardiso The high-performance software for the solution of large sparse symmetric and unsymmet
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く