在球拍中测量经过时间的最佳方法是什么?

时间:2018-11-28 07:12:59

标签: scheme racket quicksort elapsedtime

以下是我在使用Racket的Scheme中的快速排序程序,我想测量该程序的时间,但是我找不到解决方法。

我尝试了(time(quicksort(list 1 4 3))),但这并没有我期望的那么精确。有什么理想的方法吗?

#lang racket

(define (partition compare lst)
  (cond
     ((null? lst) '())
     ((compare (car lst)) (cons (car lst) (partition compare (cdr lst))))
     (else (partition compare (cdr lst)))))

(define (quicksort lst)
  (cond
     ((null? lst) '())
     (else (let ((pivot (car lst)))
        (append (append (quicksort (partition (lambda (x) (< x pivot)) lst))
                   (partition (lambda (x) (= x pivot)) lst))
                (quicksort (partition (lambda (x) (> x pivot)) lst)))))))

0 个答案:

没有答案