二叉树简单解析(1)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 二叉树简单解析(1)

🍀本人简介:


吉师大一最爱逃课的混子、
华为云享专家、阿里云专家博主、腾讯云自媒体分享计划博主、
华为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


二叉树


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


它呢,具有根节点(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 = name
    self.age = age
p1 = Person("Bill", 63)
print(p1.name)
print(p1.age)

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


通过p1来存储和调用


输出结果为

回归二叉树


创建树


创建根

class TreeNode:
    def __init__(self,val):
        self.val=val
        self.left=None
        self.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]
目录
相关文章
|
8月前
|
存储 人工智能 分布式数据库
数据结构:二叉树(超详解析)
数据结构:二叉树(超详解析)
101 2
|
8月前
|
存储 C++ 容器
【C++&数据结构】二叉树(结合C++)的经典oj例题 [ 盘点&全面解析 ](24)
【C++&数据结构】二叉树(结合C++)的经典oj例题 [ 盘点&全面解析 ](24)
|
6月前
|
算法 C++
【C++高阶】高效搜索的秘密:深入解析搜索二叉树
【C++高阶】高效搜索的秘密:深入解析搜索二叉树
52 2
|
8月前
|
存储 算法
【算法与数据结构】深入解析二叉树(二)之堆结构实现
【算法与数据结构】深入解析二叉树(二)之堆结构实现
|
8月前
|
存储 算法 Linux
【算法与数据结构】深入解析二叉树(一)
【算法与数据结构】深入解析二叉树(一)
|
编译器
深入解析前序遍历:探索二叉树的前进之路
在计算机科学的广袤领域中,数据结构是解决问题的基础,而二叉树作为一种重要且常用的数据结构,为问题的处理提供了高效的方式。在二叉树的世界中,遍历是一项核心操作,它能够让我们有条不紊地访问每一个节点,实现从根部到叶子、从叶子到根部等不同的访问序列。而前序遍历(Preorder Traversal)作为一种经典的遍历方式,在这个过程中扮演着重要角色。
134 0
|
8月前
|
算法
递归算法:二叉树前序、中序、后序遍历解析与递归思想深度剖析
递归算法:二叉树前序、中序、后序遍历解析与递归思想深度剖析
176 0
|
8月前
|
算法 vr&ar 图形学
☆打卡算法☆LeetCode 145. 二叉树的后序遍历 算法解析
☆打卡算法☆LeetCode 145. 二叉树的后序遍历 算法解析
|
8月前
|
算法 vr&ar 图形学
☆打卡算法☆LeetCode 144. 二叉树的前序遍历 算法解析
☆打卡算法☆LeetCode 144. 二叉树的前序遍历 算法解析