Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
我应该在 Prolog 和一般情况下避免尾递归吗?
我正在阅读 立即学习 Prolog 在线书籍 以获取乐趣 我正在尝试编写一个谓词 该谓词遍历列表的每个成员并向其添加一个 使用累加器 我已经在没有尾递归的情况下轻松完成了 addone addone X Xs Y Ys Y is X 1 a
Prolog
tailrecursion
accumulator
tailrecursionmodulocons
Haskell 中的尾递归字符串分割
我正在考虑分割字符串的问题s在一个字符处c 这表示为 break c s 其中 Haskell 库定义break c 足够接近 br br s h t if c h then s else let h t br t in h h t 假设我
Haskell
tailrecursion
在 Clojure 中退出 Recur 循环
我想跳出下面的循环 并在第 10 行计算结果为 true 时返回最佳最小移动 我查看了 print 语句的输出 当第 10 行的计算结果为 true 时 它 找到了我正在查找的数据 但仍然重复出现 在 Clojure 中 有没有办法在语句计
loops
recursion
Clojure
tailrecursion
如何在Scala中实现尾递归快速排序
我写了一个递归版本 def quickSort T xs List T p T T gt Boolean List T xs match case Nil gt Nil case gt val x xs head val left righ
Algorithm
scala
datastructures
tailrecursion
方案中的尾递归幂函数
我在方案中编写尾递归幂函数时遇到问题 我想使用辅助函数来编写该函数 我知道我需要一个参数来保存累计值 但在那之后我就陷入了困境 我的代码如下 define pow tr a b define pow tr h result if b 0 r
function
recursion
SCHEME
tailrecursion
tail
LLVM 尾调用优化
以下是我对事情的理解 当函数 f 调用自身是其最后一个动作时 它是尾递归的 通过形成循环而不是再次调用函数 可以显着优化尾递归 函数的参数已就地更新 并且函数体再次运行 这称为递归尾调用优化 LLVM 在使用 fastcc GHC 或 Hi
LLVM
tailrecursion
LLVMIR
iPhone 开发——performSelector:withObject:afterDelay 还是 NSTimer?
重复方法调用 或消息发送 我猜合适的术语是 x秒 是使用 NSTimer NSTimer 的 ScheduledTimerWithTimeInterval target selector userInfo repeats 还是让该方法在最后
iphone
NSTimer
tailrecursion
repeat
在 Prolog、尾递归中计算斐波那契数列
我想在 Prolog 中以递归尾部模式计算斐波那契数列 fibonacci 0 0 fibonacci 1 1 fibonacci N Result fibonacci N 1 0 fibonacci N Result Count Coun
Prolog
Fibonacci
tailrecursion
为什么 .NET/C# 不优化尾调用递归?
I found 这个问题 https stackoverflow com questions 340762 which languages support tail recursion optimization关于哪些语言优化尾递归 为什么
c
NET
Optimization
tailrecursion
阿克曼函数的这种实现可以称为尾递归吗?
我用 C 语言编写了以下代码 我们可以将其称为尾递归实现吗 include
c
memory
recursion
tailrecursion
ackermann
Clojure:避免埃拉托斯特尼筛中的堆栈溢出?
这是我在 Clojure 中实现的埃拉托斯特尼筛法 基于 SICP 流课程 defn nats from n iterate inc n defn divide p q zero rem q p defn sieve stream lazy
Clojure
primes
tailrecursion
sieveoferatosthenes
访问Scheme中的调用堆栈深度
为了演示尾递归的有效性 我想要一种在Scheme中动态访问调用堆栈深度的方法 有没有办法做到这一点 如果没有 有没有办法在其他主要函数语言 OCaml Haskell 等 中做到这一点 Racket 允许您在调用堆栈中存储值 您可以使用它来
functionalprogramming
SCHEME
tailrecursion
callstack
尾递归是否一定需要累加器?
例如 由于以下函数没有累加器 它仍然是尾递归吗 belong Ord a gt a gt a gt Bool belong a False belong a h t a h True otherwise belong a t 函数中的所有计
Haskell
recursion
tailrecursion
是否可以使用连续传递样式将此递归函数转换为尾递归函数?
我最近写了一个ETL 效果很好 我想提醒自己如何使用免费的 monad 因此想将我的 ETL 转换为这样的 注意 我的目的不是写一个更好的 ETL 而是让自己重新熟悉免费的 monad 在重新学习自由单子如何工作时 我偏离了这个问题的主题
recursion
F
monads
tailrecursion
如何创建一个尾递归方法,该方法也可以以非尾递归方式引用自身
假设我有一种用于长时间运行的计算的机制 可以暂停自己以便稍后恢复 sealed trait LongRunning R case class Result R result R extends LongRunning R case clas
scala
recursion
tailrecursion
这里使用尾递归有什么好处?
我一直在阅读描述如何通过使用尾递归版本来降低快速排序的空间复杂度的文章 但我无法理解这是怎么回事 以下是两个版本 QUICKSORT A p r q PARTITION A p r QUICKSORT A p q 1 QUICKSORT A
Algorithm
QuickSort
tailrecursion
F# 中元组的不完整模式匹配
我定义一个点 type TimeSeriesPoint lt T gt Time DateTimeOffset Value T 和一系列 type TimeSeries lt T gt TimeSeriesPoint lt T gt lis
F
patternmatching
tailrecursion
guardclause
什么推理导致“包含递归定义的序列表达式编译不正确”
问题尽管尾调用位置存在堆栈溢出 但仅限 64 位 https stackoverflow com q 35751350 1243762导致发现一个bug https github com Microsoft visualfsharp iss
F
tailrecursion
tailcalloptimization
哪些 C++ 编译器(如果有)进行尾递归优化?
在我看来 在 C 和 C 中进行尾递归优化都可以很好地工作 但在调试时我似乎从未看到表明这种优化的帧堆栈 这很好 因为堆栈告诉我递归的深度 不过 优化也会很好 有 C 编译器进行此优化吗 为什么 为什么不 我该如何告诉编译器去做呢 对于 M
c
Optimization
tailrecursion
这是尾递归吗?
我试图找到尾递归的例子 但我真的没有看到常规和尾递归之间的区别 如果这不是尾递归 有人能告诉我为什么不是吗 public static long fib long index assume index gt 0 if index 0 Bas
Java
recursion
computerscience
Fibonacci
tailrecursion
1
2
3
4
»