Каково время выполнения? это O (n)?

#scheme #performance

#схема #Производительность

Вопрос:

Я думаю, что время выполнения этого решения равно O (n). Но я не уверен. Кто-нибудь может помочь мне разобраться в этом?

 (define (poly x coeff)
  (polyaux x (reverse coeff) 0))

;; the aux function
(define (polyaux x coeff acc)
  (if (null? coeff)
      acc
      (polyaux x (cdr coeff) (  (* acc x) (car coeff)))))
  

Спасибо

Ответ №1:

Если n в O (n) относится к длине коэффициента, то так и должно быть. На каждом шаге коэффициент становится на один элемент короче, пока он не исчезнет.