zoukankan      html  css  js  c++  java
  • sicp_2.59-2.60

     1 #lang racket
     2 
     3 ;;;;;;;;;;;;;;;;;;;;2.59
     4 (define (element-of-set? x set)
     5   (cond ((null? set) false)
     6         ((equal? x (car set)) true)
     7         (else (element-of-set? x (cdr set)))))
     8 
     9 (define (adjoin-set x set)
    10   (if (element-of-set? x set)
    11       set
    12       (cons x set)))
    13 
    14 (define (intersection-set set1 set2)
    15   (cond ((or (null? set1) (null? set2)) '())
    16         ((element-of-set? (car set1) set2)
    17          (cons (car set1)
    18                (intersection-set (cdr set1) set2)))
    19         (else (intersection-set (cdr set1) set2))))
    20 
    21 (define (union-set set1 set2)
    22   (cond ((null? set1) set2)
    23         ((null? set2) set1)
    24         ((element-of-set? (car set1) set2)
    25          (union-set (cdr set1) set2))
    26         (else (cons (car set1)
    27                     (union-set (cdr set1) set2)))))
    28 
    29 ;;;;;;;;;;;;;;;;;;;2.60
    30 (define (new-element-of-set? x set)
    31   (cond ((null? set) false)
    32         ((equal? x (car set)) true)
    33         (else (element-of-set? x (cdr set)))))
    34 
    35 (define (new-adjion-set x set)
    36   (cons x set))
    37 
    38 (define (new-union-set set1 set2)
    39   (append set1 set2))
    40 
    41 (define (new-intersection-set set1 set2)
    42  (cond ((or (null? set1) (null? set2)) '())
    43         ((element-of-set? (car set1) set2)
    44          (cons (car set1)
    45                (intersection-set (cdr set1) set2)))
    46         (else (intersection-set (cdr set1) set2))))
    47 
    48 ;;;;;;;;;;;;;;;;;test
    49 (union-set '(1 2 3 4) '(0 3 5 1))
    50 (new-union-set '(1 2 3 2 4) '(3 4 3 2 1 5))
    51 (new-intersection-set '(1 3 3 2 4) '(2 3 2 2 4 5 1))
    52 ;;;;;;;;;;;;;;;;adjion和union分别变为O(1)和O(n)
    53 ;;;;;;;;;;;;;;;;其他不变
    Yosoro
  • 相关阅读:
    web网站开发反面教材
    phpstudy 做的后台长时间运行的脚本,设置了脚本运行时间还是40秒就返回500,用的apache2.4.39
    PHP_EOL
    web文件下载,a标签文件下载,php文件下载
    邮件发送
    网站调用qq第三方登录
    微信Pcweb登录简介
    JqueryOn绑定事件方法介绍
    php+ajax文件上传
    php操作数组函数
  • 原文地址:https://www.cnblogs.com/tclan126/p/6477017.html
Copyright © 2011-2022 走看看