美文网首页
树的增删查改

树的增删查改

作者: km15 | 来源:发表于2020-03-06 16:16 被阅读0次

1、定义方式

struct node {
    typename data;  //数据域
    node* lchild;   //左孩子
    node* rchild;   //右孩子
};

2、新建节点

node* newNode(int v) {
    node* Node = new node;  //申请一个node型变量的地址空间
    Node->data = v;         //节点权值为V
    Node->lchild = Node->rchild = NULL;     //初始状态下没有左右孩子
    return Node;
}

3、查找与修改
先中后

void search(node* root, int x, int newdata) {
if (root == NULL) {
return;
}

if (root->data == x) {
    root->data = newdata;
}

search(root->left, x, newdata);
search(root->right, x, newdata);

}


4、插入
isnert必须使用引用(因为修改了指针),而插入修改不用,则是因为改的是指针指向的内容,所以不用

总结就是如果需要新建节点,(就是对原有二叉树结构作出修改,就要引用)
如果只是修改节点内容,或仅仅遍历二叉树,就不用

void insert(node* &root, int x) { //注意是星引用,因为要修改这个指针的
if (root == NULL) {
root = new node(x);
return;
}
if(二叉树的的性质,x应该插在左边){
insert(root->left, x);
}else{
insert(root->right, x);
}
}


5、二叉树的创建

node* create(int data[], int n) {
node* root = NULL;
for (int i = 0;i < n;i++) {
insert(root, data[i]);
}
return root;
}



6、完全二叉树的存储结构
2的k次大小数组,k是最大高度
左孩子编号为2x,右孩子为2x+1
(根节点从1开始,不从0开始)
事实上,二叉树也可以定义为这样,不空间消耗巨大(K个节点就需要2的K次,因为可能存在一条只有左或者右的数)

相关文章

  • 树的增删查改

    1、定义方式 2、新建节点 void search(node* root, int x, int newdata)...

  • configparser配置文件模块

    Menu configparser定义 创建configparser文件 增删改查 - 查 增删改查 - 改 增删...

  • Spring Boot——增删查改(1)

    Spring Boot增删查改 标签: SpringBoot 增删查改是最为基础的功能,在很多场景下都有运用。本文...

  • Arraylist和Linkedlist

    Arraylist:底层是数组结构,增删慢改查快. Linkedlist:底层是链表结构,增删快 改查慢. Arr...

  • Java集合之ArrayList - 吃透增删查改

    Java集合之ArrayList - 吃透增删查改 从源码看初始化以及增删查改,学习ArrayList。 先来看下...

  • ElasticSearch常用的增删查改操作

    使用Java对ElasticSearch增删查改操作,分为两个步骤:1.拼接sql语句2.执行增删查改操作以下提供...

  • NSQL增删查改

    无论前端还是后台,都离不开对数据库的一些基本操作,我们现在分享一下数据库的一些基本语法: 修改表 修改表 语法: ...

  • mongoDB增删查改

    一、 数据库使用开启 mongodb 服务:要管理数据库,必须先开启服务,开启服务使用 mongod --dbpa...

  • 一个小小的留言本

    需求分析:用户可以在留言本留言,并对内容进行增删查改。 涉及知识点: PHP语言 数据库的增删查改 留言页面 wr...

  • Sequelize 的增删查改

    文章转载自:https://www.jianshu.com/p/8242b841de9d 模型定义 Create ...

网友评论

      本文标题:树的增删查改

      本文链接:https://www.haomeiwen.com/subject/bkavrhtx.html