当前位置: 首页 > news >正文

网站伪静态设置网盟推广与信息流

网站伪静态设置,网盟推广与信息流,网站备案正常多久,企业网站设计有名 乐云seo第一 实现树的结构 class Node(): # 构造函数,初始化节点对象,包含数据和左右子节点 def __init__(self, dataNone): self.data data # 节点存储的数据 self.left None # 左子节点,默认为None self.rig…

第一 实现树的结构

class Node():
    # 构造函数,初始化节点对象,包含数据和左右子节点
    def __init__(self, data=None):
        self.data = data  # 节点存储的数据
        self.left = None  # 左子节点,默认为None
        self.right = None  # 右子节点,默认为None

    # 设置节点数据的方法
    def set_data(self, data):
        self.data = data  # 将传入的数据赋值给节点的data属性

    # 获取节点数据的方法
    def get_data(self):
        return self.data  # 返回节点的data属性

    # 设置左子节点的方法
    def set_left(self, node):
        self.left = node  # 将传入的节点赋值给当前节点的left属性

    # 获取左子节点的方法
    def get_left(self):
        return self.left  # 返回当前节点的left属性,即左子节点

    # 设置右子节点的方法
    def set_right(self, node):
        self.right = node  # 将传入的节点赋值给当前节点的right属性

    # 获取右子节点的方法
    def get_right(self):
        return self.right  # 返回当前节点的right属性,即右子节点

if __name__ == '__main__':
    # 创建根节点,数据为'a'
    root_node = Node('a')
    # 创建左子节点,数据为'b'
    left_node = Node('b')
    # 创建右子节点,数据为'c'
    right_node = Node('c')
    # 将左子节点设置到根节点的左子节点位置
    root_node.set_left(left_node)
    # 将右子节点设置到根节点的右子节点位置
    root_node.set_right(right_node)
    # 打印根节点的数据,左子节点的数据和右子节点的数据
    print(root_node.get_data(), root_node.get_left().data, root_node.get_right().data)

第二  二叉树递归遍历

#实现树的递归遍历(前、中、后以及层次的遍历),首先定义实现树结构的类Node。编写三个函数proorderO)、posorder0)和mid order0)分别实现先序遍历后序遍历和中序遍历。from collections import dequeclass Node():# 构造函数,初始化节点对象,包含数据和左右子节点def __init__(self, data=None, left=None, right=None):self.data = data  # 节点存储的数据self.left = left  # 左子节点,默认为Noneself.right = right  # 右子节点,默认为None# 前序遍历:先访问根节点,然后递归遍历左子树,最后递归遍历右子树def pro_order(self):print(self.data)  # 访问根节点if self.left:  # 如果存在左子节点,则递归遍历左子树self.left.pro_order()if self.right:  # 如果存在右子节点,则递归遍历右子树self.right.pro_order()# 中序遍历:先递归遍历左子树,然后访问根节点,最后递归遍历右子树def mid_order(self):if self.left:  # 如果存在左子节点,则递归遍历左子树self.left.mid_order()print(self.data)  # 访问根节点if self.right:  # 如果存在右子节点,则递归遍历右子树self.right.mid_order()# 后序遍历:先递归遍历左子树,然后递归遍历右子树,最后访问根节点def pos_order(self):if self.left:  # 如果存在左子节点,则递归遍历左子树self.left.pos_order()if self.right:  # 如果存在右子节点,则递归遍历右子树self.right.pos_order()print(self.data)  # 访问根节点# 层序遍历:使用队列按层次顺序访问节点def row_order(self):queue = deque([self])  # 初始化队列,将根节点加入队列while queue:  # 当队列不为空时,进行遍历current_tree = queue.popleft()  # 从队列前端取出节点print(current_tree.data)  # 访问节点if current_tree.left is not None:  # 如果存在左子节点,则加入队列queue.append(current_tree.left)if current_tree.right is not None:  # 如果存在右子节点,则加入队列queue.append(current_tree.right)# 自定义遍历:使用栈按特定顺序访问节点def custom_order(self):stack = [self]  # 初始化栈,将根节点加入栈while stack:  # 当栈不为空时,进行遍历node = stack.pop()  # 从栈末端取出节点print(node.data)  # 访问节点if node.right is not None:  # 如果存在右子节点,则加入栈stack.append(node.right)if node.left is not None:  # 如果存在左子节点,则加入栈stack.append(node.left)# 主程序入口
if __name__ == '__main__':# 创建二叉树tree = Node('A', Node('B', Node('D'), Node('E')), Node('C', Node('F'), Node('G')))print("自定义遍历:")tree.custom_order()  # 执行自定义遍历

返回结果:

第一

第二

http://www.yayakq.cn/news/85543/

相关文章:

  • 那个网站做外贸河南省网站建设
  • 网站为什么改版中国建筑招聘信息
  • 亿恩 网站备案广告设计需要什么学历
  • 站群管理系统cms家用电脑网站建设
  • 徐州微信网站建设软件下载网站 知乎
  • 网站建设 工作方案济铁工程建设集团公司官方网站
  • 郑州营销网站托管公司哪家好汉中北京网站建设
  • 常州免费网站建站模板制作表白网页
  • 合肥网站建设合肥网站制作wordpress 数据库搜索功能
  • 如何做自己的网站链接开发一个定制的网站
  • 影楼免费网站建设网站建设 排名下拉
  • 做网站多少钱一个谷歌seo优化推广
  • 河南建设网站官网汕头设计网站建设
  • html5网站开发环境品牌网站开发策划书
  • 云南省人防工程建设网站惠州网站建设l优选蓝速科技
  • 手机网站打不开被拦截怎么办怎么做租房网站
  • 网站制作公司报价如何做网站知乎
  • 杏坛网站建设网站建设套餐怎么样
  • 网站用户粘性儿童网站欣赏
  • 怎样在网站上做办公家具快速构建网站
  • 昭阳区建设局网站太原网站关键词推广
  • 深圳广告公司珠海网站建设及优化
  • 廊坊seo排名优化网站如何制作单页网站
  • html5做网站好吗汕头vi设计公司
  • 网站开发与spark8图片这样的网站怎么做
  • 对小米网站的建设意见免费查企业app
  • 广州网站优化指导免费scrm
  • 24 手表网站江宁网站建设报价
  • 网站建设利益网站服务器提供什么服务
  • 网站建设求职具备什么怎么推广平台