Pertanyaan yang ditandai 'rekursi ekor'

Ekor rekursi adalah strategi rekursif di mana fungsi melakukan beberapa pekerjaan dan kemudian memanggil dirinya sendiri. "Ekor" mengacu pada fakta bahwa rekursi berada di akhir fungsi. Banyak - terutama penyusun bahasa pemrograman - dapat mengubah jenis panggilan ini menjadi iterasi, yaitu, rekursi ekor dalam bahasa yang didukung dapat digunakan tanpa rasa takut, terlepas dari jumlah panggilan.
25
balasan

Apa itu rekursi ekor?

Ketika saya mulai belajar cadel, saya menemukan istilah rekursif ekor. Apa artinya ini?
tanya 29 Agustus. '08 pada jam 6:48
8
balasan

Apa yang dimaksud dengan optimasi bel ekor?

Sangat sederhana, apa itu optimasi panggilan ekor? Lebih khusus, dapatkah seseorang memperlihatkan beberapa fragmen kode kecil, di mana ia dapat diterapkan, dan di mana tidak, dengan penjelasan alasannya?

Bagaimana cara keluar dari siklus di Scala?

Bagaimana cara merebut siklus? var terbesar = 0 untuk (i <-999 ke 1 oleh -1) {untuk (j <-i ke 1 oleh -1) {val product = i * j if (terbesar> produk) // Saya ingin keluar di sini lain jika (product.toString.equals (product.toS ...
ditetapkan pada 30 April '10 jam 9:34
20
balasan

Memahami rekursi

Saya memiliki masalah serius dalam memahami rekursi di sekolah. Setiap kali seorang profesor membicarakan hal ini, saya tampaknya memahami hal ini, tetapi begitu saya mencobanya sendiri, ia benar-benar menghempaskan otak saya. Sepanjang malam saya mencoba menyelesaikan Menara Hanoi dan benar-benar ...
04 Apr ditetapkan '09 jam 23:10
6
balasan

Apakah Python mengoptimalkan rekursi ekor?

Saya memiliki cuplikan kode berikut yang tidak dijalankan dengan kesalahan berikut: RuntimeError: kedalaman rekursi maksimum terlampaui Saya mencoba menulis u>
ditetapkan pada 27 November '12 jam 22:53
5
balasan

Apa, jika ada, kompiler C ++ melakukan optimasi rekursi ekor?

Sepertinya saya akan bekerja dengan baik untuk mengoptimalkan rekursi ekor di C dan C ++, tetapi selama debugging saya tidak pernah melihat tumpukan frame yang menunjukkan optimasi ini. Ini bagus karena tumpukan memberi tahu saya seberapa dalam sungai ...
tanya 29 Agustus. '08 pada jam 10:35
7
balasan

Bagaimana cara rekursi ekor bekerja?

Saya hampir mengerti bagaimana rekursi ekor bekerja, dan perbedaannya dengan rekursi normal. Saya hanya tidak mengerti mengapa dia tidak memerlukan tumpukan untuk mengingat alamat pengirimnya. // tail recurion int fac_times (int n, int acc) {if (n == 0) ...
atur 20 Maret '13 pukul 11:47
5
balasan

Apakah JVM mengoptimalkan panggilan ekor?

Saya melihat kutipan ini pada pertanyaan: Apa bahasa fungsional yang baik untuk membuat layanan web? Scala, khususnya, tidak mendukung pengecualian panggilan ekor, kecuali untuk fungsi rekursif diri, yang membatasi jenis komposisi yang dapat Anda lakukan ...
atur 20 September '08 pada 0:35
6
balasan

Apakah ekor dioptimalkan untuk mesin Javascript?

Saya memiliki algoritme pathfinding rekursif ekor yang saya implementasikan dalam Javascript, dan saya ingin tahu apakah ada (semua?) Browser bisa mendapatkan pengecualian.
set 07 Sep '10 jam 19:26
5
balasan

Mengapa .NET / C # tidak dioptimalkan untuk rekursi ekor?

Saya menemukan pertanyaan ini tentang bahasa mana yang mengoptimalkan rekursi ekor. Mengapa C # tidak mengoptimalkan rekursi ekor jika memungkinkan? Untuk kasus tertentu, mengapa metode ini tidak dioptimalkan menjadi sebuah loop (Visual Studio 2008 32-bit, jika ...
atur 29 Jan '09 pukul 15.20
5
balasan

Apakah Optimasi Panggilan Ruby Tail Lakukan?

Bahasa fungsional menyebabkan penggunaan rekursi untuk menyelesaikan banyak masalah, sehingga banyak dari mereka melakukan optimasi Tail Call Optimization (TCO). Panggilan TCO panggilan fungsi dari fungsi lain (atau sendiri, dalam hal ini fungsi ini ...
ditetapkan pada 05 Mei 2009 pada 15:03
2
balasan

Mengapa panggilan rekursif menyebabkan StackOverflow pada kedalaman tumpukan yang berbeda?

Saya mencoba mencari tahu pertanyaan praktis tentang bagaimana panggilan ekor ditangani oleh kompiler C #. (Jawab: Ini bukan masalahnya. Tapi JIT 64-bit akan melakukan TCE (eliminasi panggilan ekor). Batasan berlaku.) Jadi, saya menulis sedikit tes ...
ditetapkan pada 27 November '13 jam 5:58 sore
4
balasan

Apakah Haskell memiliki optimasi rekursif?

Saya menemukan perintah "waktu" di unix hari ini dan berpikir bahwa saya akan menggunakannya untuk memeriksa perbedaan runtime antara fungsi rekursif ekor dan fungsi rekursif normal di Haskell. Saya menulis fungsi-fungsi berikut: --tail recursiv ...
atur 24 Oktober. '12 jam 5:55
9
balasan

Pemrograman fungsional. Banyak perhatian diberikan pada rekursi, mengapa?

Saya bertemu pemrograman fungsional [FP] (menggunakan Scala). Satu hal yang keluar dari pengetahuan awal saya adalah bahwa FP sangat bergantung pada rekursi. Dan juga, tampaknya, dalam FP murni, satu-satunya cara untuk melakukan itera ...
set 30 September '12 jam 10:42
2
balasan

F # vs OCaml: stack overflow

Baru-baru ini, saya menemukan presentasi tentang F # untuk programmer Python, dan setelah melihatnya, saya memutuskan untuk mengimplementasikan solusi puzzle semut secara independen.Ada semut yang dapat bergerak di sepanjang kotak datar.
aktifkan 24 September. '11 jam 13:57