Eukleides project

from http://d.hatena.ne.jp/u5_h/

2006-08-01から1ヶ月間の記事一覧

(文字列)単純な文字列の照合改良版

前回のアルゴリズムを少しだけ高速にしてみる。ただし計算オーダーは変わらず 改良点 ・テキスト側とパターン側各々に番兵を用いる ・1文字目をループの外側に出すこれにより2番目のループ計算による無駄を少なくする。 2番目のループは文字列の照合で用いる…

*[アルゴリズム](文字列)単純な文字列照合

今回から文字列のアルゴリズムについて紹介していきます。 今回は単純な文字列照合のアルゴリズムです。 文字列照合はエディタにおける文字探索やテキストデータベースにおける文字検索に応用されます。 今回はC言語における文字列の添字表現とソースの可読…

祝1000人達成記念ソース

なぜか駄文ばかり書いていたこのブログも1000達成したので記念ソースを書きました。 見た目で理解できなそうなプログラムをちょっと目指しましたwmakeして実行してのお楽しみ☆ #include #include #define $C printf( #define c_ 0x54,0x49 cc(char *c){*c=0x…

(tcp/ip関連)TCPのTIME_WAIT状態の実験

まずは単純な文字列をループバック(127.0.0.1)で送る送受信プログラムを作る。 比較のためにSTREAM型(TCP)とDATAGRAM型(UDP)の送受信プログラムを用意する //DATAGRAM型(UDP)の文字列受信サーバプログラム #include #include #include #include #include #in…

(構造関係)整列アルゴリズム3

今回はマージソートについて扱う。 仕組みは簡単である。配列のデータを要素1つずつ細かく分けてそれを大小比較してマージ(併合)するこれを繰り返し行う。ソート一回における扱う要素は2つ、4つ…とふくれあがる。これにより単純なソーティングよりも高速な処…

(構造関連)整列アルゴリズム2

今回は前回に引き続き整列アルゴリズムの効率的手法である、クイックソートとヒープソートを述べる。 まずは、クイックソートから述べる。 クイックソートは前回の単純整列法を改良したものである。配列のindexの中間値にあるデータを基準値とし大小に別けて…

(構造関連)整列アルゴリズム(1)

比較的平易な整列アルゴリズムを示す。 //simplesort.c //This program is sorting upstair data gradually //author u5 //2006 7 AUG //how to Make // gcc simplesort.c -o simplesort //how to exec // %./simplesort #include void swap(int *p,int *q);…

(アルゴリズム構造関係)探索のまとめ1

構造体配列における線形探索と2分探索 #include #include #define SIZE 17struct cell{ int key; char info[20]; }; struct cell a[SIZE]; //構造体配列における線形探索関数 struct cell linear_search(int target){ int p; for(p=0;p if(target==a[p].key)…