前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >二叉树简单解析(1)

二叉树简单解析(1)

作者头像
吉师散养基地
发布2023-02-28 15:08:58
2020
发布2023-02-28 15:08:58
举报
文章被收录于专栏:我奏是太阳

🍀本人简介

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

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

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

代码语言:javascript
复制
你就不能百度一下吗?
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 关键字:

代码语言:javascript
复制
class MyClass:
  x = 5

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

创建对象

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

代码语言:javascript
复制
p1 = MyClass()
print(p1.x)

__init__() 函数

上面的例子是最简单形式的类和对象,在实际应用程序中并不真正有用。 要理解类的含义,我们必须先了解内置的 __init__() 函数。 所有类都有一个名为 __init__() 的函数,它始终在启动类时执行。 使用 __init__() 函数将值赋给对象属性,或者在创建对象时需要执行的其他操作:

代码语言:javascript
复制
class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

p1 = Person("Bill", 63)

print(p1.name)
print(p1.age)

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

通过p1来存储和调用

输出结果为

 回归二叉树

创建树

创建根

代码语言:javascript
复制
class TreeNode:
    def __init__(self,val):
        self.val=val
        self.left=None
        self.right=None

创建树

代码语言:javascript
复制
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]
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  二叉树
    • 类和对象
    • 现在我们可以使用名为 myClass的类来创建对象:
      • 创建树
      相关产品与服务
      云开发 CloudBase
      云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档