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

靖江网站建设价格爱做网站网址

靖江网站建设价格,爱做网站网址,校园网站建设培训班,深圳微交易网站开发后继节点:中序遍历的后一个节点 普通二叉树:中序遍历得到一个list,时间复杂度O(n) 本题的二叉树:有父节点的指针,后继节点与原节点的距离为1,因此可以直接通过父节点找到下一个节点 优化:节点…

后继节点:中序遍历的后一个节点

普通二叉树:中序遍历得到一个list,时间复杂度O(n)

本题的二叉树:有父节点的指针,后继节点与原节点的距离为1,因此可以直接通过父节点找到下一个节点

优化:节点到另一个节点的真实距离为k,时间复杂度为O(k)

情况分析:

情况一:节点node有右子树,后继节点为右子树上的最左节点

情况二:节点node无右子树,沿着node向上找第一个作为左孩子的祖先,左孩子的父节点就是node的后继节点(因为此时节点node为节点Y左子树最右侧的节点

        对于情况二,在找到节点Y之后,节点Y即为node的后继节点,节点Y有没有右子树不重要

情况三:节点node本身为整颗二叉树最右的节点,没有后继节点,返回null

           

package binarytree;public class SuccessorNode {public class Node {int value;Node left;Node right;Node father;//这里定头节点的father节点为null,在创建二叉树时需要注意public Node(int data) {this.value = data;}}public Node getsuccessorNode(Node node) {if (node == null) {return node;}if (node.right != null) {//节点node有右子树while (node.left != null) {//找到最左的节点node = node.left;}return node;//返回右子树的最左节点} else {//没有右子树,向上找//node不为父节点的左孩子 并且 node的父节点不为null 则向上找while (node != node.father.left && node.father != null) {node = node.father;//此时为第一个不为右孩子的节点;此时为第一个为左孩子的节点}node = node.father;//如果node不是整颗二叉树的最右的节点,返回左孩子的父节点//如果node是整颗二叉树的最右的节点,node一直找到头节点,头节点的father为null,返回nullreturn node;}}}

 

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

相关文章:

  • 建设一个旅游电子商务网站wordpress docker
  • 广州网站seo招聘数字化平台建设
  • cad图纸免费下载网站英语学习软件
  • 企业网站模板2016成套网站建站和项目部署一样吗
  • 网络营销导向企业网站建设企业网络营销策划方案设计
  • 手工网站和自助建站式网站却别深圳哪家做网站比较好
  • 平凉市建设局网站放射科网站建设
  • 无锡网站 制作苏州网页制作招聘
  • 公司重名 做网站九江seo
  • wordpress 软件下载南宁seo按天收费
  • 浙江巨鑫建设有限公司网站广州网络推广seo
  • 上海 高端网站建设网站后台模板修改用什么软件
  • 网站建设云服务器做橡胶应该看什么网站
  • win系统做网站做一个网站的费用
  • 效果好企业营销型网站建设建筑设计是干嘛的
  • 住房建设部网站监理员html5 网站后台
  • 网站栏目设计优化方案构建电子商务网站的步骤
  • 重庆网站建设哪里比较好呢asp网站源码破解
  • shop后缀的网站黄冈seo顾问
  • 房地产网站建设方案书jsp酒店预订网站开发
  • discuz论坛网站做的门户网站建设远洋国际
  • 云南网站建设一条龙什么软件可以制作图片
  • 重庆网站制作合作商vue.js 做网站
  • 家居东莞网站建设wordpress 机制
  • 门户网站开发模板自己做的网站怎么挣钱
  • 网站地图定位用什么技术做广东网站建设公司报价表
  • 一学一做短视频网站做网站需要什么配置服务器吗
  • 快速生成网站wordpress火车头插件防重复
  • php做的网站后台汕头网站设计开发专业
  • 怎样更新网站文章建筑方案设计考试