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

百度的营销策略海南搜索引擎优化

百度的营销策略,海南搜索引擎优化,crm系统功能模块,设计网页多少钱1、首先写一个类表示二叉树 public class TreeNode {int num;TreeNode left;TreeNode right;public TreeNode(int num) {this.num num;}}2、根据前,中序遍历,在控制台我们可以得到两个结果pre 和 in: /*** 前序遍历* param node*/public st…

1、首先写一个类表示二叉树

public class TreeNode {int num;TreeNode left;TreeNode right;public TreeNode(int num) {this.num = num;}}

2、根据前,中序遍历,在控制台我们可以得到两个结果pre 和 in:

 /*** 前序遍历* @param node*/public static void PreTree(TreeNode node){if (node == null){return;}System.out.println(node.val);PreTree(node.left);PreTree(node.right);}/*** 中序遍历* @param node*/public static void MidTree(TreeNode node){if (node == null){return;}PreTree(node.left);System.out.println(node.val);PreTree(node.right);}public static void main(String[] args) {TreeNode head = new TreeNode(1);head.left = new TreeNode(2);head.right = new TreeNode(3);head.left.left = new TreeNode(4);head.left.right = new TreeNode(5);int[] pre = {1, 2, 4, 5, 3};int[] in = {2, 4, 5, 1, 3};}

3、接下来编写构建二叉树的方法:

/*** 根据先序和中序遍历结果建出一颗树* 先序结果是:pre[L1...R1], 中序结果是[L2...R2]*/public static TreeNode buildTreeNode(int[] pre, int[] in){if (pre == null || in == null || pre.length != in.length){return null;}return f(pre, 0, pre.length-1, in, 0, in.length-1);}/*** int[] pre = {1, 2, 4, 5, 3};* int[] in = {2, 4, 5, 1, 3};*/public static TreeNode f(int[] pre, int L1, int R1, int[] in, int L2, int R2){if (L1 > R1){return null;}// 根节点等于前序遍历的第一个数TreeNode head = new TreeNode(pre[L1]);if (L1 == R1){return head;}int find = L2;while (in[find] != pre[L1]){find++;}head.left  = f(pre,L1 + 1, L1 + find - L2, in, L2, find - 1);head.right = f(pre, L1 + find - L2 + 1, R1, in, find+1, R2);return head;}

4、由于上面使用了while循环遍历,该方法还可以进一步优化为:

/*** 根据先序和中序遍历结果建出一颗树* 先序结果是:pre[L1...R1], 中序结果是[L2...R2]*/public static TreeNode buildTreeNode1(int[] pre, int[] in){if (pre == null || in == null || pre.length != in.length){return null;}HashMap<Integer, Integer> valueIndexMap = new HashMap<>();for (int i = 0; i < in.length; i++) {valueIndexMap.put(in[i], i);}return g(pre, 0, pre.length-1, in, 0, in.length-1, valueIndexMap);}public static TreeNode g(int[] pre, int L1, int R1, int[] in, int L2, int R2, HashMap<Integer, Integer> valueIndexMap){if (L1 > R1){return null;}TreeNode head = new TreeNode(pre[L1]);if (L1 == R1){return head;}int find = valueIndexMap.get(pre[L1]);head.left  = g(pre,L1 + 1, L1 + find - L2, in, L2, find - 1, valueIndexMap);head.right = g(pre, L1 + find - L2 + 1, R1, in, find+1, R2, valueIndexMap);return head;}

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

相关文章:

  • 免费做的网站怎么设置域名解析wordpress产品分类
  • 做影视网站什么cms好用登记注册身份验证app下载
  • 搜索引擎网站录入网站做301需要备案吗
  • 提供微网站制作网络公司网站设计和建设自考题
  • 网站结构逻辑结构学电商哪个培训学校好
  • 网站推荐正能量网站建设与管理实验报告
  • 做网站找合作伙伴贵阳手机网站建设公司
  • 网站开发项目标书凡客设计
  • 银川公司网站建设网站广告位制作
  • 山西项目网网站优化建设绵阳
  • 青海省wap网站建设公司建设行业网站大概需要都少钱
  • 左中右三栏布局网站建设唐山哪里做网站
  • 网站好坏的指标重庆餐饮网站建设
  • 烟台网站建设网站推广wordpress调用分类文章列表
  • 做网站判多少年常州钟楼建设局网站
  • 2013电子商务网站建设考试长沙做网站设计公司
  • 梨树县交通建设网站最简单制作网页
  • 上海网站建设|网站制作和女的做那个视频网站
  • 地图网站模板网络规划设计师报考多少钱
  • gta5买房子网站建设网站建设的设立方式
  • 莆田建设银行官方网站手机软件商店
  • 做网站改字号代码张楚岚
  • lookae素材网上海关键词优化
  • 苏州前几天网站建设自主建网站
  • 广州 海珠 建网站竞价培训
  • 网站建设运营怎么办茂名网站建设电话
  • 陕西公路工程建设有限公司网站福建泉州网站建设公司
  • html建设网站免费的企业建站系统
  • 哪些网站可以做百科参考资料教育培训网站建设方案模板下载
  • 广宁网站建设专业做网站建设公司