如何解决如何将二叉树转换为二叉决策图
struct TreeNode {
int num;
TreeNode* left;
TreeNode* right;
};
TreeNode* cons_tree(int num,TreeNode *l,TreeNode *r) {
TreeNode* tmp;
tmp = new TreeNode;
tmp->val = num;
tmp->left = l;
tmp->right = r;
return tmp;
}
TreeNode* ordered_insertion_tree(int num,TreeNode *t) {
if(t == NULL) {
return cons_tree(num,NULL,NULL);
}
else if(num < t->val) {
t->left = ordered_insertion_tree(num,t->left);
return t;
}
else {
t->right = ordered_insertion_tree(num,t->right);
return t;
}
}
上面的代码展示了如何创建 BST。但是,我希望我的程序像 BDD 图像中显示的真值表一样。
两张图的区别:
例如,如果用户输入字符串“000”、“011”、“110”和“111”,这些叶节点将具有字符串“1”。
***输入将被附加到名为值的字符串向量中。因此,values[0] 代表“000”等等。 ***
我的问题是:
- 我应该如何重写ordered_insertion_tree 函数?最初我使用 int 来比较值,但现在它已更改为 std::string,我不知道如何进行比较。
- 如何更改节点的值?从表示第一个整数的“x1”到表示 n 个整数的“x2”...“xn”,最后到表示真值表的 0/1。
感谢阅读!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。