![]() |
1
2
从他的专业领域(包括正式的正确性证明)来看,我认为他指的是 loop variant 这是一种证明循环终止的通用技术。 |
![]() |
2
2
这个问题似乎不合逻辑。 除了创建一个你知道会被击中的后置条件(即递增一个计数器,不要触摸循环内的计数器,并且有一个最大值让它被击中)之外,没有人能确保循环退出。 您还可以创建一个计时器或其他结构来检查循环是否花费了太长时间。 帕纳斯在这里暗示什么?任何循环的通用出口,不干扰逻辑或简单地设计适当的后置条件? |
![]() |
3
1
有许多方法可以确保循环安全退出:
说真的,最好的方法是保持简单,并有一个稳定的、完全测试过的终止条件(即检查它是否应该运行另一个迭代或退出的代码)。 你所描述的可以很好地翻译成 halting problem 这是一个众所周知的问题,没有解决方案。 此外,谷歌搜索显示,大卫帕纳斯在利默里克大学工作,你可以打电话给他们,要求与他交谈。我相信他会很高兴你还在努力学习他当时教你的东西:) |
![]() |
4
1
你的客座讲师可能是指 Cycle Detection 一种检测无限循环的方法。 This blog post 描述在链接列表中检测无限循环。有趣的是,它使用了与维基百科文章相同的术语。 |
![]() |
John V · 是否存在单元测试无法发现的逻辑/流错误类型? 6 年前 |
![]() |
Beefster · 为什么ANSI颜色转义以“m”而不是“]”结尾? 6 年前 |
![]() |
Guillermo Gutiérrez · STR转换是如何工作的? 7 年前 |
![]() |
RudziankoÅ · 合并排序数组算法 7 年前 |
|
user8852560 · 构造函数中的验证和构造函数冲突 7 年前 |
![]() |
jav974 · 订购产品时寻找最佳价格组合的算法 7 年前 |
![]() |
hippietrail · 确定浮点数中前导零的数量 7 年前 |