- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个霍夫曼二叉树。我需要向下遍历树直到到达每个叶子,对于每个叶子,我需要“保存”该叶子节点的一个成员,并将所有这些变量保存在树外的数组中。
假设我有这棵树:
3\65
6\-1
3\70
9\-1
2\66
3\-1
1\67
16\-1
7\68
每片叶子(7/68, 1/67, 2/66, 7/70, 3/65)都有一个叫做“encoding”的成员,它是一个字符串。
(即每个节点都有一个node->left,node->right,和node->encoding)
假设编码如下:
7/68 got an encoding of 0
1/67 got an encoding of 100
2/66 got an encoding of 101
3/70 got an encoding of 110
3/65 got an encoding of 111
我可以相对轻松地遍历树并打印出这些值,但我需要做的是将这些字符串保存在树外的数组中。
我想不出如何将这些保存在树之外。
最佳答案
"save these strings in an array outside of the tree."
评论:你确定一定要存储字符串吗?如果你只存储整数并在递归完成后创建字符串,那就更干净了。
好的,无论哪种方式(并且不泄露源代码)您只需:
在开始递归之前创建一个足够大的 (*) 数组
创建一个指针,用于写入数组的不同部分,将该指针初始化为数组的开头。
将指向该指针的指针作为新的/附加的函数参数提供给您的递归。每次在递归中到达叶子时,你
关于c - 递归树遍历,为树的每个叶子返回一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15074344/
Infix[]仅适用于第一级: Infix[(c a^b)^d] (* -> (a^b c) ~Power~ d *) 由于我想(不要问为什么)将完整表达式切换为中缀表示法,因此我尝试了以下操作: S
我正在寻找遍历特定元素的叶子的最有效方法。例如: One Two Paragraph Text
我想评估 bool 表达式,例如 a=b & s、>=、{ eval() {} // bool operator()(const var& v) const {
我正在尝试将物联网边缘设备设置为边缘网关。我们不希望我们的叶子/传感器/下游设备直接连接到互联网/云,因此我希望物联网边缘网关(顾名思义)能够桥接下游设备和云/物联网之间的连接中心。但是,我意识到任何
我是一名优秀的程序员,十分优秀!