タグ

プログラミングとアルゴリズムに関するpaulowniaのブックマーク (6)

  • 徐々に高度になるリングバッファの話 - Software Transactional Memo

    リングバッファのイメージ図 1. リングバッファとは何か 機能的にはFirst In First Out (FIFO)とも呼ばれるキューの一種であるが、リング状にバッファを置いてそれの中でReadとWriteのインデックスがグルグルと回る構造をとる事によって容量に上限ができることと引き換えに高速な読み書き速度を得たものである。キューを単に実装するだけなら山ほど方法があって線形リストを使ってもいいしスタックを2つ使っても原理的には可能だ。その中でもリングバッファを用いた方法の利点はひとえに性能の高さでありメモリ確保などを行わないお陰でシステム系の様々な場所で使われている。 これの実装自体は情報系の大学生の演習レベルの難度であるが少し奥が深い。まずリングバッファのスタンダードなインタフェースと実装は以下のようなものである。 class RingBuffer { public: explicit

    徐々に高度になるリングバッファの話 - Software Transactional Memo
  • サービス終了のお知らせ

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

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

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

  • 404 Page Not Found. - GMOインターネット

    404 Error - Page Not Found. 指定されたページ(URL)は見つかりません GMOインターネットのページへ戻る Copyright (c) 2020 GMO Internet, Inc. All Rights Reserved.

  • がくのほめぱげ - 色の結合演算について(その1)

    Adobe Photoshop,Paint Shop Pro,Gimp などのペイントツールにおいて、「レイヤー(Layer)を重ね、 描画モード(Blend Mode)を切り替え、透過率(Opacity)を与える。」のような使い方は、フォトレタッチだけではなく、 お絵描きするときにも頻繁に行われていることと思います。 描画モード(ブレンドモードとも呼ぶらしい)の操作については、画像を用いて具体的に説明しているホームページをよく見かけますが、 色を結合(合成)するための計算方法として、紹介、解説している書籍、ホームページとなると、ほとんど見かけませんね。 #これって大きく取り上げちゃダメな話なのかなぁ・・・?(^^; このページでは、この描画モードを数式として示します。 ソフトウェア開発者向けの非常にマニアックな内容となっていますが、 描画モードをサポートしているペ

  • Mathematical Information Technology

    サイトについて アルゴリズムとデータ構造 平方根 開平方のアルゴリズム 平方根のアルゴリズム 初期値の改良による平方根計算の高速化 ソート 基ソート 基ソートの改良 高速なソート 高速なソートの改良 その他のソート ソートの様々な比較規則 クイックソート、マージソートのマルチスレッド化 SortApplet 数値の0埋め ヒープ 直接挿入法 連結リスト 数列の和 εアルゴリズムによる級数計算 オイラーの変換による交代級数の加速 数学 素数 素数 試行除算による素数判定 フェルマーテストによる素数判定 素数定理について Javaによる素数の判定 Javaでの平方根計算アルゴリズムの改良による素数判定の高速化 一ケタの素数の倍数を取り除くことによる素数判定の高速化 データ構造の変更による繰り返しの高速化 素数に関する情報源 ソフトウェア開発 LSI C-86 Ver. 3.30c 試

  • 1