2015-10-21から1日間の記事一覧
(define (fold-left op initial sequence) (define (iter result rest) (if (null? rest) result (iter (op result (car rest)) (cdr rest)))) (iter initial sequence)) (define (fold-right op initial sequence) (if (null? sequence) initial (op (car s…
(define (fold-left op initial sequence) (define (iter result rest) (if (null? rest) result (iter (op result (car rest)) (cdr rest)))) (iter initial sequence)) (define (fold-right op initial sequence) (if (null? sequence) initial (op (car s…
(define (dot-product v w) (accumulate + 0 (map * v w))) (define (matrix-*-vector m v) (map (lambda (x) (dot-product x v)) m)) (define (transpose mat) (accumulate-n cons nil mat)) (define (matrix-*-matrix m n) (let ((cols (transpose n))) (m…
SICPの問題 2.37をやろうとしたところ,この本で定義した一つのリストのみに対応したmapではなく 複数のリストに対応したmapが必要だったので自分で書いてみました. (define (foldr op init lst) (if (null? lst) init (op (car lst) (foldr op init (cdr l…
;; accumulate (define (accumulate op initial sequence) (if (null? sequence) initial (op (car sequence) (accumulate op initial (cdr sequence))))) ;; accumulate-n (define (accumulate-n op init seqs) (if (null? (car seqs)) nil (cons (accumula…
;;accumulate (define (accumulate op initial sequence) (if (null? sequence) initial (op (car sequence) (accumulate op initial (cdr sequence))))) ;;enumerate-tree (define (enumerate-tree tree) (cond ((null? tree) nil) ((not (pair? tree)) (li…
(define (accumulate op initial sequence) (if (null? sequence) initial (op (car sequence) (accumulate op initial (cdr sequence))))) (define (horner-eval x coefficient-sequence) (define (iter lis res) (cond ((null? lis) res) (else (iter (cdr…