Рекурсия туралы дұрыс тұжырымдарды таңдаңыз.
Бір немесе бірнеше дұрыс жауап
Дұрыс жауабы мен түсіндірмесі
Жауабы: Мемоизация Фибоначчи есебін O(n) уақытқа дейін жеделдетеді; Рекурсивті алгоритмді стек құрылымын пайдаланып итерациялық түрде жазуға болады; Фибоначчи сандарының тікелей рекурсивті есептелуі экспоненциалды уақыт алады; Базалық жағдайсыз рекурсивті функция Python-да RecursionError тудырады
Базалық жағдайсыз стек шектен асады; наивті Фибоначчи экспоненциалды; мемоизация O(n) береді. CPython хвостты оңтайландырмайды, тереңдік шегі әдепкіде ~1000, ал кез келген рекурсияны стекпен итерациялық түрде жазуға болады (бұл тұжырым дұрыс).
«Алгоритмдер және программалау» тақырыбынан тағы
- Графтың төбелері 1-ден 10-ға дейін нөмірленген, қырлары: 1–2, 2–3, 4–5, 6–7, 7–8, 8–6, 9–9, 3–1. Графты байлан...
- Тапсырмалар арасындағы тәуелділіктер (X→Y — X тапсырмасы Y-тен бұрын орындалуы тиіс): D→A, E→B, A→C, B→C, C→F,...
- Функция берілген: def c(n, k): if k == 0 or k == n: return 1 return c(n - 1, k - 1) + c(n - 1, k) c(6, 3) шақы...
- Python кодының нәтижесін анықтаңыз: words = ["listen", "silent", "enlist", "google", "gogole", "cat", "act", "...
- Берілген функцияда f(6) шақырылғанда f барлығы неше рет орындалады (бастапқы шақыруды қоса)? def f(n): if n <=...
- Программа орындалғанда қандай екі сан шығады? from functools import lru_cache @lru_cache(maxsize=None) def f(n...
- xⁿ дәрежесін екілік жазу бойынша солдан оңға (square-and-multiply) есептеу алгоритмінде n = 37 болғанда қанша...
- Бағдарлама орындалғанда терминалда не көрінеді? s = "x=10;y=2;z=7" d = dict(p.split("=") for p in s.split(";")...