首页 > 其他分享 >23.10.16

23.10.16

时间:2023-10-16 11:00:42浏览次数:43  
标签:Node 23.10 return lc show 16 rc NULL

树的操作:

1、树的构建

Node build(Node p, int &k, string s){
if(s[k] == '#'){
k++;
return NULL;
}
p = new node();
p -> ch = s[k++];
p -> lc = build(p->lc,k,s);
p -> rc = build(p->rc,k,s);
return p;
}

用字符串s来构建,k作为索引

2、树的遍历

先序:

void show(Node p){
if(p == NULL) return;

cout << p -> ch;
show(p -> lc);
show(p -> rc);
}

中序:

void show(Node p){
if(p == NULL) return;

show(p -> lc);

cout << p -> ch;
show(p -> rc);
}

后序:

void show(Node p){
if(p == NULL) return;

show(p -> lc);

show(p -> rc);

cout << p -> ch;
}

三个的区别:只是改变语句顺序

3、交换二叉树每个结点的左孩子和右孩子

void change(Node p){
Node t;
if(p == NULL) return;
t = p -> lc;
p -> lc = p -> rc;
p -> rc = t;
change(p -> lc);
change(p -> rc);
}

 

标签:Node,23.10,return,lc,show,16,rc,NULL
From: https://www.cnblogs.com/atrue/p/17766877.html

相关文章

  • 【Linux 网络编程】为什么 IP 地址通常以192.168开头?——私有 IP 地址段
    首先,192.168并不是设置局域网IP地址的唯一选择。很多企业都选择10.或者172.16开头规划局域网。三个私有IP地址段网络中的主机需要通信,需要使用一个IP地址,目前我们普遍使用的IPv4的地址,分为A、B、C、D、E五类,其中A、B、C类是我们常见的IP地址段。在这三类地址中,大多数为公有地......
  • 前台端分离 技术架构 系统架构图 20231016
       ......
  • ARC167D Good Permutation 题解
    题意给定一个长度为\(N\)的排列\((P_1,P_2,\cdots,P_N)\)。称一个排列\(P\)为“好排列”当且仅当对于所有\(1\leqx\leqN\),都能通过不停地使\(x\leftarrowP_x\)将\(x\)变成\(1\)。通过最小次数操作将\(P\)变成“好排列”,每次操作为交换\(P\)中的两个数\(P_i\)......
  • 2023.10.15——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午休息,下午校内算法比赛;我了解到的知识点:1.写对四道;明日计划:学习......
  • 20211316郭佳昊 《信息安全系统设计与实现(上)》 第五周学习总结
    一、任务要求[1]知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题核心是要求GPT:请你以苏格拉底的方式对我进行提问然后GPT就会......
  • 一周总结(2023.10.2-2023.10.15)
    2023.10.2考试。T1是简单的,T2是一个比较简单的dp,状态等东西都是对的,但是因为有一个地方没有取模而只交了暴力。受不鸟。T3是概率dp,考场上想了比较久想出来并实现了。T4是一个容斥计数题,大概理解了但是没有补。考场上千万要注意细节,以免丢掉不该丢的分。2023.10.3还是考试......
  • LGR-164-Div.2
    B考虑我们实际上仅仅在钦定\((u,v)\)不切断时需要通过\(v\)所在子树的异或和这个状态来更新\(u\)对应异或和的状态,此时状态内每一位都是独立的。所以直接拆位仍然能够转移,得到\(f_{i,j,0/1}\)表示节点\(i\)子树内第\(j\)位异或和确定情况下的答案。而在钦定\((u,......
  • 144-16
    设计一个算法,将二叉树的叶结点按从左到右的顺序连成一个单链表,表头指针为Head,二叉树按照二叉链表方式存储,链接时用叶结点的右指针域来存放单链表指针。只需要找到叶子节点,然后将第一个叶子节点赋值给Head,其余的叶子结点按照顺序使用自己的右指针连接起来#include<stdio.h>#i......
  • 代码随想录算法训练营-动态规划-3-(0-1背包问题)|416. 分割等和子集、1049. 最后一块石
    416.分割等和子集01背包的递推公式为:dp[j]=max(dp[j],dp[j-weight[i]]+value[i]);如果dp[j]==j说明,集合中的子集总和正好可以凑成总和j,理解这一点很重要。1classSolution:2defcanPartition(self,nums:List[int])->bool:3_sum=......
  • java项目实践-webapp-mytomcat-day16
    目录1.http协议2.自定义的web框架3.具体实现4.启动1.http协议CS架构建立连接“三次握手”断开连接“四次挥手”三次握手:client:可以与你建立连接吗?server:可以的client:我也可以了四次挥手:client:我要断开server:可以断开server:我要断开client:可以断开双方都有......