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

山西大同专业网站建设制作价格深圳seo整站优化承接

山西大同专业网站建设制作价格,深圳seo整站优化承接,抖音号出售网站,建站公司兴田德润好不好#思路 1、二叉树不同于数的构建,在树节点类中,有数据,左子结点,右子节点三个属性,在树类的构造函数中,添加了变量maxNodes,用于后续列表索引的判断 2.GetTreeNode()函数是常用方法,…

#思路

 1、二叉树不同于数的构建,在树节点类中,有数据,左子结点,右子节点三个属性,在树类的构造函数中,添加了变量maxNodes,用于后续列表索引的判断

2.GetTreeNode()函数是常用方法,用于获取不同节点的索引

3、Create()是重点,与树的区别在于,树的索引和节点值是自己设置的,而二叉树构建

树的过程,传入的主要参数是数组a,所以对应索引的节点值,需要根据二叉树索引特点自己构建

4、三种遍历过程,就是按照不同方式访问树的节点,以前序遍历为例,构建函数的过程就是访问当前节点的值(此功能由visit()完成),然后递归的访问左子结点和右子节点,如果深入递归的遍历过程,思维会混乱,不如明确递归函数书写的根本:

①这个函数功能是什么,完成这个功能

②递归的基本要求是,随着遍历的每一次深入,需要回来,因此需要一个判断,便于函数返回

③具备深搜的基本条件:每一个节点都有三个属性

索引作为节点的唯一标识符,在创建时会储存在一个顺序表中。

回到创建树的过程(create()过程),由传入参数可知,根节点的值和索引是确定的,当确定第一个节点值时,会继续对此节点添加左右子节点,而新连接成的节点(索引不同),他们也具有三个属性。所以实际上,这些节点依据索引的不同被访问和划分,每一个节点都有向下的枢纽,完成遍历过程。

class TreeNode:def __init__(self, val=None, left=None, right=None):self.val = valself.right = rightself.left = leftclass Tree:def __init__(self, maxNodes):self.root = Noneself.nodes = [TreeNode() for i in range(maxNodes)]self.nodesSize = maxNodesdef GetTreeNode(self, id):return self.nodes[id]def visit(self, node):print(node.val, end="")def Create(self, a, size, nodeId):if nodeId >= size or a[nodeId] == None:return NonenowNode = self.GetTreeNode(nodeId)nowNode.val = a[nodeId]nowNode.left = self.Create(a, size, nodeId * 2)nowNode.right = self.Create(a, size, nodeId * 2 + 1)return nowNodedef CreateTree(self, a):self.root = self.Create(a, len(a), 1)def preOrder(self, node):if node:self.visit(node)self.preOrder(node.left)self.preOrder(node.right)def preOrederTraversal(self):self.preOrder(self.root)print("")def inOrder(self, node):if node:self.inOrder(node.left)self.visit(node)self.inOrder(node.right)def inOrederTraversal(self):self.inOrder(self.root)print("")def postOrder(self, node):if node:self.visit(node)self.postOrder(node.left)self.postOrder(node.right)def postOrederTraversal(self):self.postOrder(self.root)print("")def Test():a = [None, "a", "b", "c", "d", None, "e", "f", "g", "h", None, None, None, None, "i"]T = Tree(15)T.CreateTree(a)T.postOrederTraversal()T.inOrederTraversal()T.postOrederTraversal()Test()

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

相关文章:

  • 网站建设的需求是什么意思建设部网站查造价师
  • 网站建设优化推广排名seo服务
  • 上海备案证查询网站查询系统临海建设局网站导航
  • 专业网站制作技术wordpress 前台文件上传
  • 朝阳网站建设开发手工活外包加工官方网
  • 甜品网站建设方案天峨县建设局网站
  • 上海公司注册一站式企业服务网页设计对版式的要求
  • .net 快速网站开发erp系统页面
  • 男男互做网站内销机械做哪个网站好
  • 无锡建设机械网站中山 网站推广
  • h5网站案例免费手机端网站模板
  • 淘宝建设网站常见问题重庆忠县网站建设报价
  • 各网站文风杭州公司网站建设哪家好
  • 中介网站开发风景网页制作模板
  • 如何让网站收录公司名网站流量检测
  • 做网站备案必须是个人还是公司建个企业网站一年需要多少钱
  • 上海专业建站公闽侯县网站建设
  • intitle 做网站技成培训网
  • 企业企业网站建设网站开发如何共用菜单栏
  • 柳州哪家公司做网站好中电云主机怎样登入创建的网站
  • 做喷绘可以在那个网站找如何做网站服务器映射
  • 网站开发方式南昌公司注册
  • 班组安全建设 网站怎么做网站文字优化
  • 做php网站阿里云服务器flash网站模板中心
  • 免费网站怎么制作邢台123网
  • 企业网站上线一站式营销推广平台
  • 建设工程信息在什么网站发布wordpress多站点详细设置(图解)
  • 制作一个网站并上传访问WordPress防止机器注册
  • jsp网站开发需要哪些技术网络服务有哪些
  • 网站建设明细报价表企业网站的建设与实现论文