بهینه سازی Tail-call بازگشت Tail دارای وضعیت ویژه در Racket است زیرا کامپایلر به فراخوانی های دنباله توجه می کند و آنها را بهینه می کند. معمولاً، هر فراخوانی به یک تابع، از جمله یک تماس بازگشتی، باعث میشود که مجموعه دیگری از آرگومانها در یک بلوک از حافظه به نام پشته تماس ذخیره شوند.
آیا دم بازگشتی است؟
بازگشت دم چیست؟ یک تابع بازگشتی زمانی بازگشتی دنباله است که یک فراخوان بازگشتی آخرین چیزی است که توسط تابع اجرا می شود. برای مثال، چاپ تابع C++ زیر بازگشتی است.
آیا Ocaml tail بازگشتی است؟
OCaml Tail recursion
زبانهای کاربردی مانند OCaml به شدت به توابع بازگشتی متکی هستند با این حال، چنین توابعی میتوانند منجر به مصرف بیش از حد حافظه شوند یا در هنگام مدیریت مجموعه دادههای بزرگ، به پشته سرریز.بازگشت دم منبع مهمی برای بهینه سازی در چنین مواردی است.
آیا دم بازگشتی است؟
یک روش بازگشتی دنباله، یکی از راههای تعیین یک فرآیند تکراری است. تکرار آنقدر رایج است که اکثر زبان های برنامه نویسی ساختارهای خاصی را برای تعیین آن ارائه می دهند که به عنوان حلقه شناخته می شود.
آیا دم مرتب سازی سریع بازگشتی است؟
a. TAIL- RECURSIVE-QUICKSORT دقیقاً همان کاری را انجام می دهد که QUICKSORT انجام می دهد; از این رو به درستی مرتب می شود. QUICKSORT و TAIL-RECURSIVE-QUICKSORT پارتیشن بندی یکسانی را انجام می دهند و سپس هر کدام خود را با آرگومان های A, p, q − 1 فراخوانی می کنند. سپس QUICKSORT دوباره خود را با آرگومان های A, q + 1, r فراخوانی می کند.