タグ

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

  • 関連タグはありません

タグの絞り込みを解除

algorithmとprogrammingとtipsに関するjjzakのブックマーク (23)

  • 【レポート】GNU grepが高速な理由 | エンタープライズ | マイコミジャーナル

    FreeBSD - The Power To Serve why GNU grep is fast (なぜGNU grepは高速なのか)といったタイトルの興味深いメールがFreeBSD開発者メーリングリストに投函された。メールを出したのはGNU grepのオリジナル開発者であるMike Haertel氏。Mike Haertel氏はFreeBSDユーザでもあり、FreeBSD開発者メーリングリストで興味深いやりとりがあったため、このメールを流したとしている。Mike Haertel氏の紹介する内容はgrep(1)の実装のみならず、高速な文字列処理を実現するひとつの方法として参考になる。紹介されているGNU grep高速さの秘訣は次のとおり。 GNU grepは入力バイトのすべてをチェックするようなことは避けている。 GNU grepはバイトごとに適用する操作を極力最小限に減らしている。 G

  • さあ、Yコンビネータ(不動点演算子)を使おう! - よくわかりません

    前回、おとうさんにもわかるYコンビネータ!(絵解き解説編) - よくわかりませんというエントリで、Yコンビネータ(不動点演算子)と再帰の絵解き解説をしました。 Yコンビネータ自身は、結局のところ再帰を産み出してくれるだけです。関数(正確にはλという単純な文字列変換ルール)だけで出来て、プログラミングに関するいろんな原理の研究を可能にするのが凄い訳です。その辺のさわりを、きしださんが解説されています。しかし、単なる再帰なら、実際のプログラミングではYコンビネータなんて使わなくても出来ます。 じゃあ、Yコンビネータとか不動点とかは、偉い学者さんとかが研究に使えばいいもので、普通のプログラマには何の意味もないモノなのでしょうか? というわけで、今回はポジティブに、Yコンビネータや不動点で出てくる考え方を、理論だけじゃなく、実際のプログラミングに応用する例を見てみましょう。 今回、プログラムの例を

  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

  • 紫ログ:GaucheでR風に行列演算を記述する - livedoor Blog(ブログ)

    【C.M.ビショップ「パターン認識と機械学習(PRML)」読書会の情報はこちら】 行列に関する操作は、R をマスターする基です。関連する Tips を脈絡なくできるだけ集めたいと思います。お気づきの正統派・裏技テクニックをお寄せください。一部重複はむしろ好ましいと思います。 PRMLに出てくるアルゴリズムを実装するには行列演算が書きやすくないと辛いので、Rの記法を参考にしながら試行錯誤中。 夢見ている書式仕様 matrix(): 要素ベクトルを与えて行列を作る: matrix(1:12, nrow=3, ncol=4) → (%matrix (iota 12 1) :nrow 3 :ncol 4) → (%matrix (%: 1 12) :nrow 3 :ncol 4) matrix(1:12, nrow=3) # 自動的に ncol=4 とされる → (%matrix (%: 1 1

  • perlによる大規模データの取扱い

    ページでは,perlでどのようにして大規模なデータを保存するかついて 説明します.主にスタンドアロンで動くもの (クライアント<->サーバ型 でない,いわゆる組込み型) について紹介したいと思います. Menu Berkeley DB BerkeleyDB DB_File SDBM SDBM_File GDBM GDBM_File CDB CDB_File QDBM Depot Curia Villa TDB TDB_File SQLight DBD::SQLite SUFFIX ARRAY SUFARY SARY 複雑なデータ構造 Data::Dumper Storable MLDBM いろいろな比較 ファイルサイズ Benchmark Link サンプルデータについて Berkeley DB Berkeley DBは,組み込み向けデータベースです.通常データベースという とOracl

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • C言語 Super Technique 講座

    このページは、C言語の中級テクニックを中心に解説する。長らくプログラマをしていると、C言語の面白い使い方例が蓄積している。これらを一挙公開するために、このページを作ったのである。しかし、単にCに留まらず、他の言語の面白い特徴なども紹介していく。 内容的にはかなりヘヴィである。当然のことながら、「ポインタ虎の巻」程度の内容はちゃんと使いこなせることを前提とする。意外な技、落し穴、派手なテクニックなど、内容満載だが、ちゃんとデータ構造とアルゴリズムなども説明できれば良いと思う。(まあ、ぼちぼちやってきいます...) 以下の目次には手引きのために、評価がつけてある。凡例として示す。 レベル その解説で記載されている内容のレベル 有用度 その内容が実際に役に立つものかどうか 邪悪度 その内容が薦める方法が、一般的なコーディング規約の中で「邪悪」とされがちなものであるか否か。関数ポインタの活用(濫用

  • アルゴリズムの紹介

    ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 こんなことやって意味あるのかどうか正直言って迷いました。プログラマはたいてい知っているような内容だし見る人もいないんじゃないかと思いましたが、これからプログラミングを始めてみようという方にとっては参考になるかもしれないし、何よりも自分にとって頭の中を整理できたりするので、これから定期的にやっていこうかと考えてます。 ところで、紹介する内容はほとんど過去に出版された書物関係から抜粋しています。一応下の方に参考文献として挙げておきますので興味を持たれた方は書店などで探してみてはいかがでしょうか? ということで、まずはライン・ルーチン(画面に直線を描画する)についての紹介です。

    jjzak
    jjzak 2006/11/06
  • <h2>C言語によるアルゴリズム(コメント付き)</h2>

  • Epeg で JPEG ファイルのサムネイルを高速に生成する - bkブログ

    Epeg で JPEG ファイルのサムネイルを高速に生成する Epegは JPEG ファイルのサムネイル (縮小画像) を高速に生成するライブラリです。JPEG に特化した手法でサムネイルの処理を行うため、内部的に画像をビットマップに伸張せず、高速かつ少ないメモリで処理できるのが特徴です。 インストール Epeg は Debian パッケージになっていないようなので、ソース (ダウンロード) からインストールしました Epeg は内部的に libjpeg を使っているため、Debian GNU/Linux では sudo apt-get install libjpeg62-dev で事前にインストールしておく必要があります。 Epeg そのものは ./configure && make && sudo make install でビルド・インストールできます。 サンプルコード Epeg の

  • C/C++ Technical Documents

    C++ 寄稿記事 επιστημη 氏から寄稿していただいた、開発者の方々にお役に立つテクニカルドキュメントです。Articles、References、Miscelaneousに分かれて説明しています。初心者の方からプロの方まで役に立つ読み物と資料集です。是非、開発のお役にお立て下さい。 Articles: 読み物 References: 資料集 Miscelaneous: 番外編

  • GCC の最適化で printf が puts になる場合 - bkブログ

    GCC の最適化で printf が puts になる場合 GCC の最適化により printf の呼び出しが puts に置き換わることがある、と 先日、教えてもらったので試してみました。 次のような hello.c をまず最適化なしでコンパイルします。 #include <stdio.h> int main () { printf("hello, world\n"); return 0; } % gcc -o hello hello.c そして、実行可能ファイル hello を readelf コマンドで覗いてみると、 printf という文字列が見つかります。 puts は見あたりません。 % readelf -a hello | egrep 'printf|puts' 080495d0 00000207 R_386_JUMP_SLOT 00000000 printf 2: 0000

  • Octave の使用例

    Octave( O にアクセントがあるから オクティヴ or オクテヴ or オクテイヴ ) の使用例をためていきたいと思います。単なる数 学のツールとしてではなく、データ解析ツールとしての活用例とし て参考になればと思います。 例 -- 常微分方程式の数値積分 -- 例 -- 固有値と固有ベクトルを求める -- 例 -- FFT -- データを読み込んでフーリエ変換をかける。 結果から幾つ かのフーリエ成分だけで元のデータを良く記述できること を確かめる。 例 -- 画像 -- jpeg フォーマットの画像の各画素で b/L Octave のための関数 Octave は matlab 互換である。その matlab をちょっとでも触 ると、ちょっと悲しくなる…。 しかし悲しんでばかりもいられないので、octave ( あるいは matlab )用の簡単な関数を揃えてみること

  • アルゴリズムのはなし

    アルゴリズムのはなし     Last modified: Jul 20, 2004 アルゴリズムのお話をしようと思います。自然言語は,曖昧さが多く,アルゴリズムを記述するのは不適切です。そこで,以下の理由から,awk を使おうと思います。 処理系がフリーウエアである。 各種マシンに移植されている。 機能的には十分で,C 言語に移植しやすい。 警告:以下に示すプログラムは,完全なものでない場合があります。ユーザが自由に書き換えて使うための下書きとして提供するものです。 目次 マン・ホイットニーのU検定の統計量の分布 ウィルコクソンの符号付順位和検定の統計量の分布 ケンドールの順位相関係数の分布 スピアマンの順位相関係数の分布 統計関数の確率の計算 ・正規分布 ・カイ二乗分布 ・t分布 ・F分布 統計関数のパーセント点の計算 ・正規分布 ・カイ二乗分布 ・t分布 ・F分布 Fisher の正

  • ビットを数える・探すアルゴリズム

    作成日:2004.05.04 修正日:2012.09.01 このページは 2003年の9/11、9/28 の日記をまとめて作成。 はじめに PowerPC 系や Alpha などには population count と呼ばれるレジスタ中の立っているビット数を数える命令が実装されている。 集合演算を行うライブラリを実装したい場合などに重宝しそうな命令である。 職場でこの population count 命令について話をしているうちにビットカウント操作をハードウェアで実装するのは得なのか?という点が議論になった。 CPU の設計をできるだけシンプルにするためには、複雑で使用頻度の低い命令は極力減らした方がよい。 例えば SPARC は命令セット中にビットカウント演算があるが、CPU 内には実装しないという方針をとっている(population 命令を実行すると不正命令例外が発生し、それを

  • いろいろなソートアルゴリズム

    <body> <p>このページにはフレームが使用されていますが、お使いのブラウザではサポートされていません。</p> </body>

  • emit.jp

    This domain may be for sale!

  • [を] 線形時間で Suffix Array 作成

    線形時間で Suffix Array 作成 2005-01-23-1 [Algorithm] 週末自己啓発!アルゴリズムの勉強。趣味の世界。 taku-ku 氏に教えてもらった論文。線形時間で Suffix Array を作る話。 Suffix Tree 方式だと O(n) でできるのだがこれは違うやり方。 Juha K¨arkk¨ainen and Peter Sanders: "Simple Linear Work Suffix Array Construction", ICALP 2003, LNCS 2719, pp. 943-955, 2003. <http://www.cs.helsinki.fi/u/tpkarkka/publications/icalp03.pdf> Abstract. [...] 1. recursively sort suffixes

  • emit.jp

    This domain may be for sale!

  • KENJI

    更新履歴 DNS拡張EDNS0の解析 Linuxカーネルをハッキングしてみよう Windowsシステムプログラミング Part 3 64ビット環境でのリバースエンジニアリング Windowsシステムプログラミング Part2 Windowsシステムプログラミング Part1 Contents インフォメーション 「TCP/IPの教科書」サポートページ 「アセンブリ言語の教科書」サポートページ 「ハッカー・プログラミング大全 攻撃編」サポートページ ブログ(はてな) BBS メール このサイトについて テキスト 暗号 詳解 RSA暗号化アルゴリズム 詳解 DES暗号化アルゴリズム crypt() アルゴリズム解析 MD5 メッセージダイジェストアルゴリズム crypt() アルゴリズム解析 (MD5バージョン) TCP/IP IP TCP UDP Header Format(IPv4) Ch

    jjzak
    jjzak 2006/11/06
    OS起動部分のブートローダ