2007-01-01から1年間の記事一覧

Python.use(better, follow=”K&R”) ハッシュ表と辞書 4/10

Python.use(better, follow=”K&R”) # for novice 《記事一覧》 改訂♪2008/09/25《承前》

ためしてごらん

最初に、項目をひとつも含まない場合から始めます。ただし、以下の単体テストでは、その動作を確認するために、K&R と違って hashsize=5 に設定しています。>>> p = Htable() >>> p Htable([None, None, None, None, None])生成したハッシュ表 Htable() が保…

ハッシュ表を出力する

《関連記事》__str__ K&R には、ハッシュ表を出力する事例はありません。そこで、名前/置換テキストを括弧で括ったリストとして表示させます。class Nlist: def __repr__(self): s = "" e = self while e: s += "%r: %r, "%(e.name, e.defn) e = e.next retu…

Python.use(better, follow=”K&R”) ハッシュ表と辞書 3/10

Python.use(better, follow=”K&R”) # for novice 《記事一覧》 改訂♪2008/09/25《承前》

連結リスト

----------------------------------------------K&R, p.144 >>---- struct nlist { /* table entry: */ struct nlist *next; /* next entry in chain */ char *name; /* defined name */ char *defn: /* replacement text */ };#define HASHSIZE 101 static…

項目の登録

----------------------------------------------K&R, p.145 >>---- /* install: put (name, defn) in hashtab */ struct nlist *install(char *name, char *defn) { struct nlist *np; unsigned hashval; if )((np = lookup(name))( == NULL) { /* not foun…

ハッシュ探索

----------------------------------------------K&R, p.145 >>---- /* lookup: look for s in hashtable */ struct nlist *lookup(char *s) { struct nlist *np; for (np = hashtab[hash(s)]; np != NULL; np = np->next) if (strcmp(s, np->name) == 0) re…

ハッシュ値

----------------------------------------------K&R, p.144 >>---- /* hash: form hash value for string s */ unsigned hash(char *s) { unsigned hashval; for (hashval = 0; *s != '\0'; s++) hashval = *s + 31 * hashval; return hashval % HASHSIZE; …

ハッシュ表を使って

K&R; 6.6 Table Lookup では、自己参照的構造体となる連結リストを要素に持つハッシュ表〔hash table〕を使った事例が紹介されています。 【K&R, p.144】"An array element points to the beginning of a linked list of blocks describing names that have …

Python.use(better, follow=”K&R”) ハッシュ表と辞書 2/10

Python.use(better, follow=”K&R”) # for novice 《記事一覧》 改訂♪2008/09/23《承前》

対象読者

こんな症状を抱えているなら (@.@) ・配列の添字に数値以外を使いたい ・配列の中に任意のオブジェクトを混在させたい 【効能】添字を指定したり、要素を格納するときに、自由度が高まる 【副作用】辞書のないプログラミングなんて… 《ひよ子のきもち♪2007/1…

《承前》前回までのあらすじ

K&R で紹介された二分木を再構成して、組み込み型 dict と同等に扱えるようにすると、利用者定義のクラスと組み込み型との間に「シームレス」な関係を維持できます。 今回は、K&R で紹介されたハッシュ探索を使って、組み込み型 dict と同等の機能を実現しま…

はじめに

K&R で紹介されたハッシュ表〔hash table〕は、言語処理系の記号表を管理するのに便利な機能を提供します。一様なハッシュ関数が得られるなら、ハッシュ値を添字とする配列の要素を参照して、二分木より高速なアクセスが可能です。辞書 dict は、配列にはな…

Python.use(better, follow=”K&R”) ハッシュ表と辞書 1/10

Python.use(better, follow=”K&R”) # for novice 《記事一覧》 ハッシュ表と辞書 《著》本間りす、森こねこ 《監修》小泉ひよ子とタマゴ倶楽部改訂♪2008/09/23C言語のバイブルとされる K&R では、ハッシュ探索を使った事例を紹介しています。Python の世界…

回転寿しとクロワッサン:いまどきのプログラマー事情

2007年11月10日(土) 《こちらに移動中です》

Oh 脳《33》回転寿しとクロワッサン:いまどきのプログラマー事情

Oh 脳: after ZERO《記事一覧》 《其之参拾参》回転寿しとクロワッサン:いまどきのプログラマー事情 ♪セミナーの枕で紹介した小ネタ集です。息抜きや話題作りにどうぞ (^.^) 第0版♪1988/03/30 ● 更新♪2009/01/09

Python.use(better,"K&R")《25》switch(3)脱・ハードコーディング

|記事一覧|《こちらに移動中です》2007年10月31日 (水)Python.use(better, follow=”K&R”) # for novice《25》switch(3)脱・ハードコーディング《Jython2.5.0》《著》後藤いるか・小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部第1版♪2003/05/23 ■ 概要…

Python.use(better,"K&R")《23》switch(1)なぜ switch は不要か

|記事一覧|《こちらに移動中です》2007年10月31日 (水)Python.use(better, follow=”K&R”) # for novice《23》switch(1)なぜ switch は不要か《Jython2.5.0》《著》後藤いるか・小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部第1版♪2003/05/23 ■ 概要 g…

Oh 脳《031》タケコプターと Ruby

‖記事一覧‖Oh 脳: after ZERO《其之参拾壱》 タケコプターと Ruby 《監修》小泉ひよ子とタマゴ倶楽部第0版♪1999/11/30 ● 第1版♪2001/05/11 ♪セミナーの枕で紹介した小ネタ集です。息抜きや話題作りにどうぞ (^.^) 《余録》この枕を最初に披露したときはまだ…

Oh 脳《027》錯覚:知識が邪魔をして見えなくなるもの

‖記事一覧‖Oh 脳: after ZERO《其之弐拾漆》錯覚:知識が邪魔をして見えなくなるもの 《監修》小泉ひよ子とタマゴ倶楽部第0版♪1988/03/29 ♪セミナーの枕で紹介した小ネタ集です。息抜きや話題作りにどうぞ (^.^) 《Tips》私たちは、なにか新しい知識/情報を…

間違いだらけのプログラミング言語(開発環境)選び

デカルト〔René Descartes, 1596-1650〕を知る人も知らない人も、座標 (x,y) で位置を指定する方法(デカルト座標系)を習った記憶はあるでしょう。彼はその著書「方法序説 Discours de la méthode pour bien conduire sa raison, et chercher la vérité dan…

Oh 脳《25》間違いだらけのプログラミング言語(開発環境)選び

Oh 脳: after ZERO《記事一覧》 《其之弐拾伍》間違いだらけのプログラミング言語(開発環境)選び ♪セミナーの枕で紹介した小ネタ集です。息抜きや話題作りにどうぞ (^.^) 第0版♪1994/07/21 ● 第1版♪2001/12/19 ● 第2版♪2009/01/02

Oh 脳《024》なぜ物を投げても放物線を描かないのか

‖記事一覧‖Oh 脳: after ZERO《其之弐拾肆》 なぜ物を投げても放物線を描かないのか 《監修》小泉ひよ子とタマゴ倶楽部第0版♪1994/07/21 ● 第1版♪2001/12/19 ♪セミナーの枕で紹介した小ネタ集です。息抜きや話題作りにどうぞ (^.^) 物理が好きな人も嫌いな人…

OOP らしく見えてしまうのは

》作業中です《 整理 ¶ 大辞林 第二版 (三省堂) (1)乱れているものをそろえ、ととのえること。 整頓 ¶ 大辞林 第二版 (三省堂) 物事をととのった状態にすること。 大辞林を紐解くかぎりでは、その違いがよく分かりません。そこで「新解さん」に尋ねてみ…

Oh 脳《23》整理と整頓の違い:OOP らしく見えてしまうのは

Oh 脳: after ZERO《記事一覧》 《其之弐拾参》整理と整頓の違い:OOP らしく見えてしまうのは ♪セミナーの枕で紹介した小ネタ集です。息抜きや話題作りにどうぞ (^.^) 第0版♪1994/07/21 ● 第1版♪2001/12/19

Python.use(better)《16》Observer(16)パターンの午後:GoGoForward

|記事一覧|《こちらに移動中です》2007年8月20日 (月)Python.use(better) # Let’s GoForward Observer(16)パターンの午後:GoGoForward《Jython2.5.0》《著》森こねこ・後藤いるか・伊藤うさぎ・小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部第1版♪199…

珈琲のドリップと水栽培

《こちらに移動中です》

Oh 脳《20》珈琲のドリップと水栽培

Oh 脳: after ZERO《記事一覧》 《其之弐拾》珈琲のドリップと水栽培 ♪セミナーの枕で紹介した小ネタ集です。息抜きや話題作りにどうぞ (^.^) 第0版♪1988/03/30 ● 更新♪2009/01/09

うしとカエル

《こちらに移動中です》

Oh 脳《19》うしとカエル

Oh 脳: after ZERO《記事一覧》 《其之拾玖》うしとカエル ♪セミナーの枕で紹介した小ネタ集です。息抜きや話題作りにどうぞ (^.^) 第0版♪1988/03/30 ● 更新♪2009/01/14