問題2.61 – SICP(計算機プログラムの構造と解釈)その73

問題2.61

x に等しいか x より大きなものが見つかれば走査は終了する。
最悪の場合は集合の大きさ n のステップ数になるが、平均すると n/2 のステップ数となる。

(define (adjoin-set x set)
  (cond ((null? set) (list x))
        ((= x (car set)) set)
        ((< x (car set)) (cons x set))
        (else
          (cons (car set) (adjoin-set x (cdr set))))))

(adjoin-set '1 '(2 3 4))
gosh> (1 2 3 4)
(adjoin-set '2 '(2 3 4))
gosh> (2 3 4)
(adjoin-set '5 '(2 3 4))
gosh> (2 3 4 5)
計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
«
»