将给定的二叉搜索树中的所有较大值添加到每个节点中

在这里我们将看到一个有趣的问题,我们将为一个给定的二叉搜索树中的每个节点添加更大的值。因此,初始和最终的树将如下所示 –

将给定的二叉搜索树中的所有较大值添加到每个节点中

算法

bstUpdate(root, sum) –

Begin   if root is null, then stop   bstUpdate(right of room, sum)   sum := sum + value of root   update root value using sum   bstUpdate(left of room, sum)End

登录后复制

示例

#includeusing namespace std;class Node {   public:      int data;      Node *left, *right;   };   Node *getNode(int item) {      Node *newNode = new Node();      newNode->data = item;      newNode->left = newNode->right = NULL;      return newNode;}void updateBST(Node *root, int *sum) {   if (root == NULL)      return;   updateBST(root->right, sum); //update right sub tree   *sum = *sum + root->data;   root->data = *sum; //update root data   updateBST(root->left, sum); //update left sub tree}void BSTUpdate(Node *root) {   int sum = 0;   updateBST(root, &sum);}void inorder(Node *root) {   if (root != NULL) {      inorder(root->left);      coutdataright);   }}Node* insert(Node* node, int data) {   if (node == NULL)      return getNode(data);   if (data data) //go to left      node->left = insert(node->left, data);   else //go to right      node->right = insert(node->right, data);   return node;}int main() {   int data[] = {50, 30, 20, 40, 70, 60, 80};   int n = sizeof(data)/sizeof(data[0]);   Node *root = NULL;   for(int i = 0; i 

输出

350 330 300 260 210 150 80

登录后复制

以上就是将给定的二叉搜索树中的所有较大值添加到每个节点中的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2581347.html

(0)
上一篇 2025年3月6日 13:57:19
下一篇 2025年2月20日 04:13:51

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Python二叉搜索树与双向链表转换实现方法

    本文实例讲述了python二叉搜索树与双向链表实现方法。分享给大家供大家参考,具体如下: # encoding=utf8”’题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的…

    编程技术 2025年3月5日
    200
  • 如何使用C#编写二叉搜索树算法

    如何使用C#编写二叉搜索树算法,需要具体代码示例 二叉搜索树(Binary Search Tree,简称BST)是一种常用的数据结构,它具有快速地插入、查找和删除操作的特点。在C#中,我们可以使用面向对象的方式来编写二叉搜索树算法。 首先,…

    2025年3月3日
    200

发表回复

登录后才能评论