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

問題2.73

スキップします。あとで

問題2.72

スキップします。あとで

問題2.71

;;n = 5 '(1 2 4 8 16) 31--15--7--3--1 | | | |-2 | | |-4 | |-8 |-16 ;;n = 10 '(1 2 4 8 16 32 64 128 256 512) 1023--511--255--127--63--31--15--7--3--1 | | | | | | | | +-2 | | | | | | | +-4 | | | | | | +-8 | | | | | +-16 | | | | +-32 | | | +-…

問題2.70

(define rock-1950-tree (generate-huffman-tree '((A 2) (NA 16) (BOOM 1) (SHA 3) (GET 2) (YIP 9) (JOB 2) (WAH 1)))) (define song '( GET A JOB SHA NA NA NA NA NA NA NA NA GET A JOB SHA NA NA NA NA NA NA NA NA WAH YIP YIP YIP YIP YIP YIP YIP Y…

問題2.69

(define (generate-huffman-tree pairs) (successive-merge (make-leaf-set pairs))) (define (successive-merge leaf-set) (if (> (length leaf-set) 1) (successive-merge (adjoin-set (make-code-tree (car leaf-set) (cadr leaf-set)) (cddr leaf-set)))…

問題2.68

(define (encode message tree) (if (null? message) '() (append (encode-symbol (car message) tree) (encode (cdr message) tree)))) ;; rec (define (encode-symbol message tree) (if (leaf? tree) '() (if (memq message (symbols (left-branch tree))…

問題2.67

define (make-leaf symbol weight) (list 'leaf symbol weight)) (define (leaf? object) (eq? (car object) 'leaf)) (define (symbol-leaf x) (cadr x)) (define (weight-leaf x) (caddr x)) (define (make-code-tree left right) (list left right (append…

問題2.66

(define (lookup given-key set-of-records) (if (null? set-of-records) #f (let ((record (entry set-of-records))) (cond ((= given-key (key record)) record) ((< given-key (key record)) (lookup given-key (left-branch set-of-records))) ((> given…

問題2.65

(define (union-tree tree1 tree2) (let ((list1 (tree->list-2 tree1)) (list2 (tree->list-2 tree2))) (list->tree (union-set list1 list2)))) (define (intersection-tree tree1 tree2) (let ((list1 (tree->list-2 tree1)) (list2 (tree->list-2 tree2)…

問題2.64

(define (list->tree elements) (car (partial-tree elements (length elements)))) (define (partial-tree elts n) (if (= n 0) (cons '() elts) (let ((left-size (quotient (- n 1) 2))) (let ((left-result (partial-tree elts left-size))) (let ((left…

問題2.63

SICP超久しぶり。 思えば学部2-3年のころに一生懸命やっていたな。 ranobaの開発に移ってから、ずっとほったらかしにしていた。 やっぱり難しい。あまり成長してないのか。。。。 なんにしろ、いい加減に終わらせないとね。ぱっぱと飛ばしてこう。 (define (…

jshintでjavascriptコードチェックしながら開発する

最近はjavascriptを書いています。 javascriptとしてはそれなりに大規模になってきました(2万行ぐらい?)。 最近のjavascriptトレンドのやり方は、コードチェッカを通して、信頼性を向上させるのがプロ技らしいです。 僕も早くプロの仲間に入りたいです。…

PythonでXMLをJSONに変換する

d:id:nagayoru:20110131:1296500717を多少綺麗にしてみました。 ソースは下 XMLtoJSONをimportして使えます。 Python 2.6.5 でテストしてあります。 引き続き突っ込み募集です! jsでevalする場合は eval("("+ str ")"); としないとラベル文に解釈されてシン…

pythonでjson(仮)

pythonでXMLからJSONへのトランスレータを書いたので載せてみます。 クライアント側のjavascriptがとても重くて、サーバ側のパワーがあまりまくってるので作りました。 一応調べてみたけど単純なやつはさっと出てこなかったので作りました。 移植性が目的でP…

ValueDomain用のdynamicDNS更新のBashスクリプト

前々からDiCE使ってましたが、なぜか無駄にCPU食ってるので、 スクリプト作ってcronでまわそうかと思って作りました。 (それにしても、何でほとんどアイドルのはずなのに10%とかとるんだろ?) 調べてみたら何人もやってる人が居ましたが…さっき出来たので…

サーバのHDDが飛びました。

サーバ壊れたので直しました。 バックアップがあったので良かった。 ranoba.comのデータは無事です。

あけましておめでとうございます。

あけおめです。 今年もがんばりません。 うそですよ…がんばりますよ。いつもどおり。 そういや今年は厄年です。 やだなー