当前位置: 首页 > wzjs >正文

如何让自己的网站被百度收录教育培训网站

如何让自己的网站被百度收录,教育培训网站,陕西网站制作公司排名,郑州城乡建设局官网介绍:平衡二叉树(AVL树)是一种自平衡的二叉搜索树,具有以下特点:任意节点的左右子树高度差不超过1。这种性质通过旋转操作来维持,以保持树的平衡性。 以下是一个简单的平衡二叉树的示例图表: …

介绍:平衡二叉树(AVL树)是一种自平衡的二叉搜索树,具有以下特点:任意节点的左右子树高度差不超过1。这种性质通过旋转操作来维持,以保持树的平衡性。

以下是一个简单的平衡二叉树的示例图表:
        10
       /  \
      5    15
     / \  /  \
    3   7 13  17

在C++中,我们可以使用类来实现平衡二叉树。下面是一个简单的示例代码:

```cpp
#include <iostream>

class Node {
public:
    int key;
    Node* left;
    Node* right;
    int height;

    Node(int k) : key(k), left(nullptr), right(nullptr), height(1) {}
};

class AVLTree {
private:
    Node* root;

    int getHeight(Node* node) {
        return (node == nullptr) ? 0 : node->height;
    }

    int getBalance(Node* node) {
        return (node == nullptr) ? 0 : getHeight(node->left) - getHeight(node->right);
    }

    Node* rightRotate(Node* y) {
        Node* x = y->left;
        Node* T = x->right;

        x->right = y;
        y->left = T;

        y->height = 1 + std::max(getHeight(y->left), getHeight(y->right));
        x->height = 1 + std::max(getHeight(x->left), getHeight(x->right));

        return x;
    }

    Node* leftRotate(Node* x) {
        Node* y = x->right;
        Node* T = y->left;

        y->left = x;
        x->right = T;

        x->height = 1 + std::max(getHeight(x->left), getHeight(x->right));
        y->height = 1 + std::max(getHeight(y->left), getHeight(y->right));

        return y;
    }

    Node* insert(Node* node, int key) {
        if (node == nullptr) {
            return new Node(key);
        }

        if (key < node->key) {
            node->left = insert(node->left, key);
        } else if (key > node->key) {
            node->right = insert(node->right, key);
        } else {
            return node;
        }

        node->height = 1 + std::max(getHeight(node->left), getHeight(node->right));
        int balance = getBalance(node);

        // Left Left Case
        if (balance > 1 && key < node->left->key) {
            return rightRotate(node);
        }
        // Right Right Case
        if (balance < -1 && key > node->right->key) {
            return leftRotate(node);
        }
        // Left Right Case
        if (balance > 1 && key > node->left->key) {
            node->left = leftRotate(node->left);
            return rightRotate(node);
        }
        // Right Left Case
        if (balance < -1 && key < node->right->key) {
            node->right = rightRotate(node->right);
            return leftRotate(node);
        }

        return node;
    }

public:
    AVLTree() : root(nullptr) {}

    void insert(int key) {
        root = insert(root, key);
    }

    void display(Node* node) {
        if (node != nullptr) {
            display(node->left);
            std::cout << node->key << " ";
            display(node->right);
        }
    }

    void displayTree() {
        display(root);
    }
};

int main() {
    AVLTree tree;
    tree.insert(10);
    tree.insert(5);
    tree.insert(15);
    tree.insert(3);
    tree.insert(7);
    tree.insert(13);
    tree.insert(17);

    std::cout << "AVL Tree: ";
    tree.displayTree();
    std::cout << std::endl;

    return 0;
}
```

以上代码演示了如何实现一个简单的平衡二叉树,并在其中插入一些节点。在实践中,还可以扩展这些基本操作以满足更多需求。

http://www.dtcms.com/wzjs/400111.html

相关文章:

  • 华为公司电子商务网站建设策划书网络优化工程师主要负责什么工作
  • 园林设计网站大全谷歌seo排名优化服务
  • 苏州电子商务网站建设重庆快速排名优化
  • 南宁霸屏网站开发做app找什么公司
  • django网站开发实例源码百度推广教程视频教程
  • 每日聚划算优惠网站怎么做的站长工具百度百科
  • 潮州移动网站建设百度客服平台
  • 莒县网站建设有哪些可以免费推广的平台
  • 网站流量超标在线网页编辑平台
  • 网页设计与网站建设期末考试题免费域名注册二级域名
  • dw怎么做音乐网站seo排名分析
  • 企业网站备案名称窍门百度域名
  • 文案转行做网站编辑网络营销课程培训
  • 南山网站(建设深圳信科)百度首页网站推广多少钱一年
  • 动漫网站建设意义优化seo深圳
  • 佛山专业的网站建设新手怎么学网络运营
  • 中国建设银行网站 纪念币预约windows优化工具
  • 简述网站建设有哪些步骤英语培训
  • 做的网站里面显示乱码怎么解决方法每日精选12条新闻
  • 如何做网站自适应郑州网络seo公司
  • 胶州专业建站电商运营培训课程
  • wordpress制作二级菜单seo网络优化是什么意思
  • 能进入危险网站的浏览器站长之家关键词查询
  • wordpress 用户遍历兰州seo
  • 一个人做网站的swot百度sem竞价托管
  • wordpress值得买模板郑州外语网站建站优化
  • 育贤网站建设semir是什么牌子
  • 东莞企业网站定制设计seo综合查询平台
  • 不锈钢公司网站源码 网站建设 产品3级分类asp源码网站网络排名优化方法
  • wordpress仿落网商品标题seo是什么意思