Logo et.boatexistence.com

Kas reketisaba rekursioon?

Sisukord:

Kas reketisaba rekursioon?
Kas reketisaba rekursioon?

Video: Kas reketisaba rekursioon?

Video: Kas reketisaba rekursioon?
Video: CS50 2013 - Week 4 2024, Juuli
Anonim

Sabakõne optimeerimine Tail-rekursioonil on Racketis eriline staatus, kuna kompilaator märkab sabakutseid ja optimeerib neid. Tavaliselt põhjustab iga funktsioonikutse, sealhulgas rekursiivse väljakutse, mäluplokki, mida nimetatakse kõnepinuks, veel ühe argumentide komplekti salvestamise.

Kas saba on rekursioon?

Mis on sabarekursioon? Rekursiivne funktsioon on sabarekursiivne, kui rekursiivne väljakutse on viimane, mida funktsioon käivitab. Näiteks järgmine C++ funktsiooni print on saba rekursiivne.

Kas OCaml on rekursiivne?

OCaml Tail rekursioon

Funktsionaalsed keeled, nagu OCaml, sõltuvad suurel määral rekursiivsetest funktsioonidest Sellised funktsioonid võivad aga põhjustada mälu ületarbimist või suurte andmehulkade käsitlemisel ülevoolude virnastamiseks. Sabarekursioon on sellistel juhtudel oluline optimeerimise allikas.

Kas saba on rekursiivne iteratiivne?

Saba rekursiivne meetod on üks viis iteratiivse protsessi määramiseks. Iteratsioon on nii levinud, et enamik programmeerimiskeeli pakuvad selle täpsustamiseks spetsiaalseid konstruktsioone, mida nimetatakse tsükliteks.

Kas kiirsortimise saba on rekursiivne?

a. SABA- RECURSIVE-QUICKSORT teeb täpselt seda, mida QUICKSORT teeb; seega sorteeritakse õigesti. QUICKSORT ja TAIL-RECURSIVE-QUICKSORT teevad sama partitsiooni ning seejärel kutsuvad mõlemad end argumentidega A, p, q − 1. Seejärel kutsub QUICKSORT end uuesti argumentidega A, q + 1, r.

Soovitan: