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

网站开发流程比较合理百度网站排名搜行者seo

网站开发流程比较合理,百度网站排名搜行者seo,中国高等教育学生信息网,微信视频号可以推广吗一、根据树的遍历结果还原树 紧接着(1),我们继续来讨论:如果给了树的遍历结果,我们能否把这个树给还原出来呢? 如果只给一种遍历结果,那么我们无法对树进行还原。 只有给了我们先序中序&…

一、根据树的遍历结果还原树

紧接着(1),我们继续来讨论:如果给了树的遍历结果,我们能否把这个树给还原出来呢?

如果只给一种遍历结果,那么我们无法对树进行还原。

只有给了我们先序+中序,或者后序+中序这两种情况的遍历结果,我们才可以得到树的结果。 

*这里不考虑层序的问题,这样的问题是不考层序的。

(1)如果给了先序遍历和中序遍历

1.先序遍历的第一个元素就是根节点

2.在中序遍历中,左子树就在根节点左侧,右子树就在根节点右侧,拿着根节点E,在中序结果中进行查找。

(2)如果给了后序遍历和中序遍历

1.取出后序遍历的最后一个元素,那就是树的根节点

2.拿着根节点在中序中进行查找,查找规则:在中序遍历中,左子树就在根节点左侧,右子树就在根节点右侧,拿着根节点E,在中序结果中进行查找。

3.进行左右子树的还原

*总而言之,根据前序遍历后序遍历中序遍历进行树的还原实质上仅仅是考察这三个知识点:

1.先序的第一个元素,就是根节点(后序也是类似,最后一个元素是根节点)

2.先序中根节点左侧的内容就是左子树的中序结果,右侧内容就是右子树的中序结果

3.先序中,如果明确了根节点和子树范围,此时,子树范围对应的内容就是子树的先序结果(后序也是类似,子树对应的内容就是子树的后序结果)

二、求树的节点个数

    //根据递归求树的节点个数public static int size(Node root){if(root == null){return 0;}int leftsize = size(root.left);int rightsize = size(root.right);return 1+leftsize+rightsize;}

三、根据递归求叶子节点的个数

    public static int getLeafSize(Node root){if(root == null){return 0;}if(root.left == null && root.right == null){return 1;}return getLeafSize(root.left)+getLeafSize(root.right);}

三、 求二叉树第 k 层节点的个数

    public static int getLevelNodeCount(int k ,Node root){//如果输入的k值小于1 或者 树为空 就返回0if(k<1 || root == null){return 0;}if(k==1){return 1;}return getLeafSize(root.right)+getLeafSize(root.left);}

思路:如果我们想要获得第k层节点的个数,如果k<1,这是非法的输入,如果k=1,也就是求第一层节点的个数,而非空的树第一层的节点个数也就是1。如果k>1,求第k层节点的个数,我们可以将这个问题转化为求左子树k-1层节点的个数+右子树k-1层的节点个数

四、求二叉树的高度

高度/深度也就是所要求的二叉树中,从根节点出发到任意节点,路径的最大长度。用递归的方式来求解,也就是要求A这个树的高度= max(B的高度,C的高度)+1

    //求二叉树的深度public static int getHeight(Node root ){if(root == null){return 0;}return 1+(Math.max(getHeight(root.left),getHeight(root.right)));}

五、检测值为value的元素是否存在

存在返回val所在节点的引用,不存在就返回null。首先判定根节点是不是val,如果是,就直接返回该根节点,如果不是,继续递归在左子树中找,如果也没找到,就继续递归在右子树中进行查找。

    //检测值为val的元素是否存在public static Node find(Node root,String val){if(root== null){return null;}if(root.val.equals(val)){return root;}//在左子树中进行查找Node findResult = find(root.left,val);if(findResult != null){return  findResult;}return find(root.right,val);}

如果一个类,没有重写toString,通过printlin打印的时候,就会触发Object自带的toString,此时的打印的格式:类型@哈希值

http://www.dtcms.com/wzjs/267013.html

相关文章:

  • 网站banner滚动间隔可以免费网络推广网站
  • 网站开发如何共用菜单栏桂林最新消息今天
  • 做网站要掌握几种语言开封seo公司
  • 网站开发软件的选择大数据比较好的培训机构
  • 做网站能带来什么问题网站托管
  • 门户网站建设系统网站交易平台
  • 宣传片拍摄方案怎么写常州seo外包
  • 水产网站模板中国百强企业榜单
  • 怎么给网站制作二维码手机网站怎么优化关键词
  • 深圳电力建设公司网站中国营销策划第一人
  • 网站开发需要哪些人怎么分工如何找做网站的公司
  • 网页游戏传奇世界开服表seo优化软件免费
  • 深圳网站建设科技有限公司网站建设定制
  • wordpress 模板带数据南阳本地网络推广优化公司
  • 菲律宾bc网站总代理怎么做百度首页优化
  • 做算法题的网站百度上怎么做推广
  • 台州企业网站制作公司网站推广策划书
  • 江门网站优化排名丹东seo推广优化报价
  • 亚马逊一个月赚5万难吗win优化大师有用吗
  • 做网站哪些公司百度云app下载安装
  • 加快政府网站建设的意见谷歌独立站推广
  • 互联网营销有哪些方式外包seo服务口碑好
  • 网站备案如何取消接入网络营销常见术语
  • 仿快法务网站开发模板常见的网络营销方式
  • 政府网站建设方案书怎么写大数据培训
  • 社会团体网站备案十堰seo优化
  • asp网站设计代做seo排名大概多少钱
  • 外贸网站设计制作河北seo诊断培训
  • 网站的系统帮助百度seo标题优化软件
  • 设计师在线网站免费建站软件