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

福永网站优化汨罗做网站

福永网站优化,汨罗做网站,汕头专业的免费建站,学校网站建设制度题意理解#xff1a; 我们需要根据一个数组来构建一个二叉搜索树#xff0c;且该二叉搜索树也是高度平衡二叉树。 什么是高度平衡二叉树呢? 即对于每个节点来说#xff0c;左右子树高度差不超过1 思路#xff1a;我们总是从数组的中间位置作为根节点构建该树#xff0c;这… 题意理解         我们需要根据一个数组来构建一个二叉搜索树且该二叉搜索树也是高度平衡二叉树。         什么是高度平衡二叉树呢? 即对于每个节点来说左右子树高度差不超过1         思路我们总是从数组的中间位置作为根节点构建该树这样就能保证左子树和右子树节点数目差值不超1。 解题方法         递归        迭代        1.递归 首先明确我们总是先构造根节点然后构造左子树构造右子树。最终返回一棵完整的树。 如果输入的数组为nums长度为0那么返回一个null。 额外补充一点对于数组区间的判定经常会出错可以先规定是左闭右开还是左开右闭然后严格按照约定来执行。 public TreeNode sortedArrayToBST(int[] nums) {if(nums.length0) return null;int mid Math.floorDiv(nums.length,2);TreeNode rootnew TreeNode(nums[mid]);TreeNode leftsortedArrayToBST(Arrays.copyOfRange(nums,0,mid));TreeNode rightsortedArrayToBST(Arrays.copyOfRange(nums,mid1,nums.length));root.leftleft;root.rightright;return root;}//方法二 public TreeNode sortedArrayToBST(int[] nums) {return sortedArrayToSubBST(nums,0,nums.length);}public TreeNode sortedArrayToSubBST(int[] nums,int left,int right) {if(leftright) return null;if(right-left1) return new TreeNode(nums[left]);int mid leftMath.floorDiv((right-left),2);TreeNode rootnew TreeNode(nums[mid]);TreeNode leftNodesortedArrayToSubBST(nums,left,mid);TreeNode rightNodesortedArrayToSubBST(nums,mid1,right);root.leftleftNode;root.rightrightNode;return root;} 2.迭代 迭代法的话需要进行分析。 为了实现迭代我们需要三个来进行维护一个用来维护当前新建节点一个用来数组左子树下标另一个用来维护右子树下标。 public TreeNode sortedArrayToBST2(int[] nums) {QueueTreeNode nodesnew LinkedList();QueueInteger leftIndexnew LinkedList();QueueInteger rightIndexnew LinkedList();//初始化TreeNode rootnew TreeNode();nodes.offer(root);leftIndex.offer(0);rightIndex.offer(nums.length-1);//为了实现迭代使用三个数组while(!nodes.isEmpty()){//创建根节点TreeNode curNodenodes.poll();int leftleftIndex.poll();int rightrightIndex.poll();int midMath.floorDiv((leftright),2);curNode.valnums[mid];//处理左区间if(leftmid-1){curNode.leftnew TreeNode();nodes.offer(curNode.left);leftIndex.offer(left);rightIndex.offer(mid-1);}//处理右区间if(rightmid1){curNode.rightnew TreeNode();nodes.offer(curNode.right);leftIndex.offer(mid1);rightIndex.offer(right);}}return root;} 3.分析 时间复杂度         递归O(n)         迭代O(n) 空间负责度         递归O(n)         迭代O(3n)
http://www.zqtcl.cn/news/474030/

相关文章:

  • 专业轻电商网站建设公司新闻发布的网站
  • 设计型网站营销存在的问题及改进
  • 南通建设企业网站wordpress 位置地图
  • 无锡本地网站有哪些手机拍摄720全景软件
  • 泉州晋江网站建设费用东莞市住房和城乡建设局门户网站
  • 苏州网站建设哪家便宜平谷手机网站设计
  • 建设项目一次公示网站嘉兴新站seo外包
  • 电子商务网站模板 html专业网站建设服务报价
  • 网页设计和网站建设的区别研发一款app要多少钱
  • seo网站建设方案建个企业网站需要多少钱
  • 搭建网站的软件网页动态设计
  • 好的界面建筑网站甘孜网站建设
  • 电子商务网站创建过程网站排名提升软件
  • 青岛企业如何建网站购买网站建站
  • 广东自考网站建设管理网站做ddns解析
  • 网站建设分类如何重启网站服务器
  • 新蒲建设集团网站怎么把源码做网站
  • 嘉兴建设局网站在线制作头像框
  • 苏州行业网站建设服务网页制作需要学什么技术
  • 二 网站建设的重要性东莞seo建站优化收费
  • 农业公司注册流程及费用快排seo排名软件
  • 响应式中文网站欣赏机wordpress
  • 如何建网站并做推广亚马逊网站怎么做推广
  • 做好网站建设总结免费开发app平台下载
  • 哈尔滨建站免费模板app网站开发要多少钱
  • 大连网站设计九首选仟亿科技怎么做百度网站会显示图片在旁边
  • 南京营销网站建设wordpress图片购买下载
  • 装修平台网站制作word模板
  • 网站建设捌金手指花总十软文写作技巧
  • 做网站优化有用吗网站开发包括什么软件