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

建设网站的目的服装类图库网址大全

建设网站的目的服装类,图库网址大全,网站建设施工图片,租房合同 模板开始系统学习算法啦#xff01;为后面力扣和 蓝桥杯的刷题做准备#xff01;这个专栏将记录自己学习算法是的笔记#xff0c;包括 概念#xff0c; 算法运行过程#xff0c;以及 代码实现#xff0c;希望能给大家带来帮助#xff0c;感兴趣的小伙伴欢迎评论区留言或者私… 开始系统学习算法啦为后面力扣和 蓝桥杯的刷题做准备这个专栏将记录自己学习算法是的笔记包括 概念 算法运行过程以及 代码实现希望能给大家带来帮助感兴趣的小伙伴欢迎评论区留言或者私信博主哦今天更新的是 《07 二叉树》 目录 一、树概念 二、性质 三、特殊二叉树 四、二叉树的节点及树的创建 五、二叉树的遍历 5.1深度优先遍历 先序遍历 中序遍历 后续遍历 5.2 广度优先遍历层次遍历) 一、树概念 二叉树是每个节点最多有两个子树的树结构。通常子树被称作”左子树“left subtree)和”右子树“right subtree)。 二、性质 在二叉树的第i层上至多有2^(i-1)个节点(i0)深度为k的二叉树至多有2^k-1个节点对于任意一颗二叉树如果其叶节点数为N0而度数为2 的节点总书为N2那么N0 N21具有n个系欸点的完全二叉树的深度必为log2(n1)对完全二叉树 若从上到下、从左到右编号则编号为i的结点其左孩子编号必为2i其右孩子编号必为2i1其双氢的编号必为i/2 i1时为根除外 三、特殊二叉树 完全二叉树设二叉树的高度为h除第h层外其他各层1~h-1的节点数都达到最大个数第h层有叶子节点并且叶子节点都是从左到右依次排布这就是完全二叉树。 满二叉树除了叶节点外每个节点都有左右子叶且叶子节点都处在最外层的二叉树 四、二叉树的节点及树的创建 节点创建 class Node(object):def __init__(self,elem-1,lchildNone,rchildNone):self.elem elemself.lchild lchildself.rchild rchild 树的初始化 class Tree(object):def __init__(self,root None):self.root root 添加节点def add(self,elem):# 首先创建节点node Node(elem)# 如果树是空的则对root根赋值if self.root None:self.root nodeelse:queue []queue.append(self.root)# 对已有的节点进行层次遍历while queue:cur queue.pop(0)if cur.lchild None:cur.lchild nodereturnelif cur.rchild None:cur.rchild nodereturnelse:#如果左右子树都不为空加入队列继续判断queue.append(cur.lchild)queue.append(cur.rchild) 五、二叉树的遍历 树的遍历是书的一种重要的运算所谓遍历是指对树中所有节点的信息的访问即一次对树中每个节点访问一次且仅访问一次我们把这种对所有节点的访问称为遍历(traveral)。那么树的两种重要的遍历模式是深度优先遍历和广度优先遍历深度优先一般用递归广度优先一般用队列一般情况下能用递归实现的算法大部分也能用堆栈来实现。 5.1深度优先遍历 对于一颗二叉树深度优先搜素Depth First Search)是沿着树的深度遍历树的节点尽可能深的搜索树的分支。 那么深度遍历有重要的三种方法。这三种方式常被用于访问树的节点他们之间的不同在于访问每个节点的次序不同。这三种遍历分别叫做先序遍历preorder中序遍历inorder和后序遍历prstorder)。我们给出详细定义然后举例看看它们的应用。 先序遍历 在先序遍历中我们先访问根节点然后递归使用先序遍历访问左子树然后再递归使用先序遍历访问右子树。 访问的顺序为根节点-左子树-右子树 代码实现 class Tree(object):def preorder(self,root):if root None:returnprint(root.item)self.preorder(root.lchild)self.preorder(root.rchild) 中序遍历 在中序遍历中我们递归使用中序遍历访问左子树然后访问根节点最后再递归使用中序遍历访问右子树 访问顺序为左子树-根节点-右子树 代码实现 class Tree(object):def inorder(self,root):if root None:returnself.inorder(root.lchild)print(root.item)self.inorder(root.rchild) 后续遍历 在后续遍历中我们先递归使用后序遍历访问左子树和右子树最后访问根节点。 访问顺序为左子树-右子树-根节点 代码实现 class Tree(object):def postorder(self,root):if root None:returnself.postorder(root.lchild)self.postorder(root.rchild)print(root.item) 5.2 广度优先遍历层次遍历) 从树的root开始从上到下从左到右遍历整个树的节点 代码实现 class Tree(object):def breath_travel(self):if self.root None:returnqueue []queue.append(self.root)while queue:node queue.pop(0)print(node.elem)if node.lchild ! None:queue.append(node.lchild)if node.rchild ! None:queue.append(node.rchild)
http://www.dnsts.com.cn/news/95029.html

相关文章:

  • 专业做网站建设设计全世界做会展介绍的网站排名
  • 宣讲家网站两学一做心得网站关键词怎么优化
  • 关键词设定在网站上建设部网站一级开发资质
  • 建设求职网站不受国家管理的浏览器
  • 齐诺网站建设东莞网站建设做网站网站建设的辅助软件
  • 营销型网站开发软文推广代写代发
  • 头条淘宝联盟网站推广怎么做wordpress主题 设定
  • 枣庄做网站济南网站系统优化
  • 1688黄页大全进口优化网站链接的方法
  • 二手汽车手机网站模板成都plc培训机构哪家最好
  • 网站定制开发特点婚礼网站建设
  • 阳江问政平台seo综合查询中的具体内容有哪些
  • 建微信网站苏州网站建设业务的公司
  • 东莞网站排名优化个人注册公司网站空间
  • 张斌网站建设海外互联网推广平台
  • h5自适应网站建设网站建设 爱诚科技公司
  • 成都高档网站建设ios 集成wordpress
  • 自己做网站发信息家政网站开发
  • 网站建设任务清单购物网站建设 费用
  • 牡丹江网站建设网站建设推广优化招聘模板
  • 网站搭建网站制作网站维护需要会什么
  • 企业网站建设论坛永久不收费免费的软件app
  • 域名买了怎么做网站wordpress建设企业官网
  • 大连网站建设吗网上怎么做网站
  • 任房保障和城乡建设局网站网站维护年费
  • 福田的网站建设公司微信公众号怎么做预约功能
  • 关于建设网站的会议纪要学做网站论坛熊掌
  • 模板做网站上传wordpress密码正确登录不
  • 国外创意网站欣赏计算机网站开发岗位有哪些
  • 专业的外贸行业网站开发兰州微信信息平台网站建设