![]() |
1
2
我不会给你答案,但我会给你一个关键的诀窍,让你合理地机械地做这件事。
但不是介绍一个,而是 二 堆叠。一个堆栈是跟踪您需要执行的操作。另一个用于调用帧中的所有数据。最终代码的关键部分如下所示:
以下是您在每个部分所做的工作。
一旦你认为你理解了这个策略,就去学习吧 Forth |
![]() |
2
1
如果你只需要一个迭代算法,我认为你在寻找一个错误的方向。其实没有必要有一堆。 如果你出于任何原因 想要一堆,请忽略其余的。
为了便于说明,我使用
您可以看到一个简单的模式,这导致了简单的算法:
这是一个非常肮脏但很有效的实现,有很大的提升空间:
|
![]() |
feasega · 聚合物模拟-2个节点之间的最短路线,适用于所有节点 6 月前 |
![]() |
Alisa Petrova · 在有向图中更改一对顶点以创建循环 6 月前 |
![]() |
b39b332d · 使用C++标准库实现高效间隔存储 10 月前 |
![]() |
Paul C · 在维基百科上,将二叉搜索树转换为排序链表的算法是否存在错误? 10 月前 |
![]() |
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 10 月前 |
![]() |
EpicAshman · 数独棋盘程序中同一列和同一行出现两次的数字 10 月前 |