二叉树简单解析(1)

news/2024/11/1 15:25:55/

🍀本人简介

吉师大一最爱逃课的混子、
华为云享专家、阿里云专家博主、腾讯云自媒体分享计划博主、
华为MindSpore优秀开发者、迷雾安全团队核心成员,CSDN2022年运维与安全领域第15名

🍁本人制作小程序以及资源分享地址:Gitcode

🍂做你想做的,错了算我的,不会要研究

你就不能百度一下吗?
https://www.baidu.com
你就不能Google一下吗?
https://www.google.com
你就不能Bing一下吗?
https://www.bing.com
你就不能NAVER一下吗?
https://search.naver.com
你就不能DuckDuckGo一下吗?
https://duckduckgo.com
你就不能GitHub一下吗?
https://github.com
你就不能F搜一下吗?
https://fsofso.com
你就不能StackOverflow一下吗?
https://stackoverflow.com
你就不能哔哩哔哩一下吗?
https://search.bilibili.com
你就不能Yahoo一下吗?
https://hk.search.yahoo.com
你就不能Yandex一下吗?
https://yandex.com
你就不能维基百科一下吗?
https://zh.wikipedia.org
你就不能萌娘百科一下吗?
https://zh.moegirl.org.cn

真是睡不着,家里没人,翻柜子找出包华子来,那就接着写点东西

谁家好人正经高数,英语不学,半夜爬起来打CTF学算法啊。。。。


 二叉树

二叉树,是一种非线性数据结构

它呢,具有根节点(root

根节点向下延伸的节点,即为子节点

每个同级子节点之间互为兄弟节点

那么反之,根节点就是这堆玩意的父节点

那么在我们创建根节点的时候,就涉及到了python的一个知识——类

那这里简单说一下

类和对象

创建类

如需创建类,请使用 class 关键字:

class MyClass:x = 5

这里可以看到,我们定义了一个名为x的属性并创建了一个Myclass类

 

创建对象

现在我们可以使用名为 myClass的类来创建对象:

p1 = MyClass()
print(p1.x)

__init__() 函数

上面的例子是最简单形式的类和对象,在实际应用程序中并不真正有用。

要理解类的含义,我们必须先了解内置的 __init__() 函数。

所有类都有一个名为 __init__() 的函数,它始终在启动类时执行。

使用 __init__() 函数将值赋给对象属性,或者在创建对象时需要执行的其他操作:

 

class Person:def __init__(self, name, age):self.name = nameself.age = agep1 = Person("Bill", 63)print(p1.name)
print(p1.age)

这里我们可以看到定义了一个名为Person的类,接收两个参数分别是名字和年龄

通过p1来存储和调用

输出结果为

 回归二叉树

创建树

创建根

class TreeNode:def __init__(self,val):self.val=valself.left=Noneself.right=None

创建树

Input=[0]
tree=[]             
Input=Input+input().split()                                 
for item in Input:                                          t=TreeNode(item)tree.append(t)                                         
for i in range(1,len(tree)):                          if tree[i].val=='null': continue      if 2*i<len(Input) and tree[2*i].val!='null':tree[i].left=tree[2*i]if 2*i+1<len(Input) and tree[2*i+1].val!='null':tree[i].right=tree[2*i+1]


http://www.ppmy.cn/news/20205.html

相关文章

语义分割------FCN、deeplab演变理论知识点

一、个人理解 语义分割,其实就是为图片中的每个像素打上相应的标签,即将其所代表的语义具现化,呈现出的视觉效果就是图片中不同的目标有不同的颜色. 目前语义分割主要针对的问题是以下几点: 1)如何恢复原有的分辨率 2)如何尽可能的增大感受野 3)如何处理多尺度问题 下面…

量能指标套装

一、量能副图指标 1、大智慧量能副图指标源码 LB:DYNAINFO(17); ddx1:“ddx.ddx1”;ddx3:“ddx.ddx3”;ddx:ddx1>ddx3; sh:STRFIND(MARKETLABEL,‘SH’,1)1; PJJ:DMA((((HIGH LOW) (CLOSE * 2)) / 4),0.9); JJ:REF(EMA(PJJ,3),1); QJJ:(VOL / (((HIGH - LOW) * 2) - ABS((…

MYSQL不存在插入 存在更新的解决方法和对比

设置主键id自增&#xff0c;name为唯一索引 一、避免重复插入 insert ignore into&#xff08;有唯一索引&#xff09; 关键字/句: insert ignore into&#xff0c;如果插入的数据会导致 UNIQUE索引 或 PRIMARY KEY 发生冲突/重复&#xff0c;则忽略此次操作/不插入数据&…

动态与静态函数库的的使用 和 区别 及 优缺点

这里写目录标题初识静态库与动态库静态函数库动态函数库初识静态库与动态库 静态函数库与动态函数库的使用中&#xff0c;有人也把他称为程序的静态链接及动态链接。 静态链接&#xff1a;指程序链接时使用静态库的链接方式&#xff0c;把所有需要的库函数加入&#xff08;拷贝…

爬楼梯(Python)

Python——动态规划——爬楼梯问题 爬楼梯问题 问题引入 【问题描述】 假设小明住在二楼,每次回家都需要经过一个有n层台阶的楼梯。小明每次可以选择一步走一级台阶或者一步走两级台阶。请计算一下小明从楼下到家一共有多少种走法? 【输入形式】 整数n,表示一共有几层台阶 …

信用卡数字识别

信用卡数字识别一、读入模板图像二、数字模板图像处理1、模板图像预处理1.1、转换为灰度图1.2、转换为二值化图像2、轮廓处理2.1、计算轮廓2.2、画出轮廓2.3、对轮廓从左到右排序并储存3、轮廓遍历3.1、获取轮廓参数3.2、计算轮廓外接矩形3.3、resize成合适大小3.4、存储外接矩…

后端校验(hibernate-validator)

目录一、介绍和依赖二、方法的 Model 参数校验三、方法的非 Model 参数校验四、常用注解五、快速失败六、自定义校验规则一、介绍和依赖 hibernate-validator 是 Java 中常用的后端校验框架 https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/【…

Windows中常用的网络排错命令

ping&#xff0c;ipconfig&#xff0c;route&#xff0c;arp&#xff0c;tracert&#xff0c;netstat, telnet常用命令及参数的操作 ping命令 应用场景&#xff1a;用于解决连接、可访问性和名称解析问题。 用法&#xff1a; ping 域名/IP地址 [参数] (如&#xff1a; pi…