This domain may be for sale!
はじめに 前回『δ符号によるデータ領域の節約』にて紹介したδ符号を応用して、アドホックな高密度データ圧縮を実装した応用例を紹介します。 対象読者 データ圧縮、特に独自方式での高密度データ格納に興味がある方を対象としています。δ符号に関する知識(参考:拙稿『δ符号によるデータ領域の節約』)を前提としています。 また、C++の基本的な文法および演算子についての知識が必要です。クラスやテンプレート、STLなどは使用していません。 必要な環境 本稿の対象環境は、Microsoft Visual C++ 6.0以降のMicrosoft社製C++コンパイラです。一部にインラインアセンブラ、およびPentium命令を使用しています。他のC++環境への移植はさほど困難ではありません。しかし、C環境に移植する場合は、関数の多重定義に留意してください。 圧縮を行ったデータについて 本稿にて圧縮
図1に示すHTML形式のテキスト・データ(以下,HTMLデータ)があります。このHTMLデータをブラウザに表示させたときに「表示される文字列」と「その文字列に対して有効なタグ名」を対応付けるアルゴリズムを考えてください。結果は配列に格納して,画面に表示させるものとします(図2)。 見わたせば,世の中はアルゴリズムだらけです。私のようなプログラマは,日常生活でも「締め切り順に仕事をソートしてごらん」「仕事のスタックがたまっているからてんてこまい」など,いま置かれている状態をアルゴリズムやデータ構造になぞらえて会話することがよくあります。前回紹介した再帰処理と言えば,落語の演目の一つ,「頭山」です。自分の頭に生えた桜の木を引っこ抜いて,その跡にできた池に自分自身が身を投げる,という不思議な話ですが,これこそ再帰処理をよく言い表していると思います。 このように世の中には,ハッシュだってスタックだ
Sorting Algorithms The animations on this page illustrate a number of different sequential and parallel sorting algorithms. The relative execution times of the animations give a very rough idea of the relative speeds of the algorithms. Each algorithm is finished when its colored lines disappear. Speed and Efficiency Analysis. Bubble Sort is a sequential algorithm, with an average case time of O(n2
このパートでは,プログラミングを勉強するうえで欠かせないアルゴリズムの中でも定番中の定番を紹介します。ソート(並べ替え)やサーチ(検索)などの機能は今では標準のライブラリとして提供されています。実用的なプログラムを作るときにそのものずばりをいちいち書く機会は少ないかもしれません。しかし定番のアルゴリズムは,様々に形を変えて普段のプログラミングに登場します。 解説を読んで仕組みがわかったら,ぜひそれをプログラムにしてみてください。読んだだけではプログラムを書けるようにはなりませんし,プログラムを書いてみて初めて,実は十分に理解できていなかったと気付くことがよくあります。しかもアルゴリズムは特定のプログラミング言語に依存しないので,一度身に付ければ,後でどんな言語を学ぶ場合でも役に立ちます。 1番目から6番目まではソートのアルゴリズム,7番目から9番目まではサーチのアルゴリズムです。一つひとつ
前回の負荷MAX、サーバ陥落寸前ですよ騒動のとき、最終的には自分で最適化する必要があるのかも知れない…と思っていたときに見つけたページです。 MySQLやPHPで同じ処理をする際にどういうふうにすればより軽いのか、という基本的な対策ばかりを集めてあります。どれもこれもあちこちで既出のものばかりですが、1カ所にまとまっているので読みやすいです。中には知らないのもあったりするかもしれません。 dublish.com - Simple Optimization for PHP and MySQL http://www.dublish.com/articles/10.html MySQLで書かれている方は割と読んだことがあるようなのが多かったですが、PHPの方は言われてみればそうかも、というようなのが多い。上記ページのコメント欄にもいろいろと有用な意見があるので、読み進めると楽しい。 そういえば以
実践プログラミング CとC++プログラミングに関するいくつかの例題と解説. 単なるプログラミングテクニックや文法の解説ではなく, 背後にある考え方の習得(アルゴリズム,データ構造,数学など)を重視して いる. プログラムをじっくり眺めそこから技法を学び取る. 最大値 [HTML] 曜日の計算 [HTML] 平均値,分散 [HTML] 2次方程式の解 [HTML] 最小自乗法 [PPT], [HTML] 待ち行列シミュレーション [PPT], [HTML] アーランの即時式モデル [PPT], [HTML] 行列のLU分解 [PPT], [HTML] ニュートン法による非線型方程式の解 [PPT], [HTML] 数値積分 [PPT], [HTML] 2分探索木 [PPT], [HTML] ヒープソート [PPT], [HTML] クイックソート [PPT], [HTML]
This domain may be for sale!
【連載の概要】 「どの本をどんな順番で読んでいけばいいのか」---。書店に所狭しと並んでいる本を見て,途方に暮れたことがある方も多いのではないでしょうか。 この特集では,「JavaでWebアプリケーションを作りたい」「C/C++でゲームや高度なWindowsアプリケーションを作りたい」「分析/設計に強くなりたい」といった目的別に,“学習方法”を示しながらお薦めの書籍を紹介していきます。あわせて,著名な開発者の方々に,どんな本を読んで勉強したのかも語っていただきます。初心者の方はもちろん,ある程度の経験を持つ方も,自分のプログラミング・レベルと照らし合わせることで,きっと次に読むべき本が見つかるはずです。 Part1 プログラミングの基礎を固める(1) ・C言語 「プログラミング言語 C 第二版」 「新版 明解C言語 入門編」 「Cプログラミング専門課程」 ・C++ 「プログラミング言語C+
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く