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

网站转化低的原因达濠市政建设有限公司网站

网站转化低的原因,达濠市政建设有限公司网站,同城找工作,网络的结构按照层次遍历结果打印完全二叉树 按照推论结果#xff1a; l 层首个节点位置 2h-l - 1l 层节点间距#xff1a;2h-l1 - 1 编码实现 public staticE void print(BinaryTreeE tree) {ListListNodeE levelNodeList levelOrderTraver…按照层次遍历结果打印完全二叉树 按照推论结果 l 层首个节点位置 2h-l - 1l 层节点间距2h-l1 - 1 编码实现 public staticE void print(BinaryTreeE tree) {ListListNodeE levelNodeList levelOrderTraversal(tree);int height levelNodeList.size();for (int level 1; level height; level) {ListNodeE nodelist levelNodeList.get(level - 1);// 打印首个节点int firstNodePosition (int) Math.pow(2, (height - level)) - 1;System.out.print(getBlankSpace(firstNodePosition) nodelist.get(0).element);int separation (int)Math.pow(2, (height-level1)) - 1;String separationBlankSpace getBlankSpace(separation);for (int i 1; i nodelist.size(); i) {// 打印中间节点System.out.print(separationBlankSpace nodelist.get(i).element);}System.out.println();}}public staticEListListNodeE levelOrderTraversal(BinaryTreeE tree) {QueueNodeE queue new LinkedList();queue.offer(tree.root);ListListNodeE result new ArrayList();while (!queue.isEmpty()) {// 此时队列的容量就是当前层的节点个数int levelSize queue.size();ArrayListNodeE levelNodes new ArrayList();for (int i 0; i levelSize; i) {NodeE node queue.poll();levelNodes.add(node);if (node.left ! null) {queue.offer(node.left);}if (node.right! null) {queue.offer(node.right);}}result.add(levelNodes);}return result;}private static String getBlankSpace(int n) {StringBuilder builder new StringBuilder();while (n 0) {builder.append( );n--;}return builder.toString();} 打印效果 似乎更预想的不一样猜测是因为 像 1112这种两位数实际占了两个字符导致的。将所有数都改成 1 显示完美。 将空格改为 \t 显示还是有问题。考虑将最后一层间距修改为 2通过双 \t 控制显示格式 完整代码 package com.wy.algo.tree;import cn.hutool.core.lang.Assert;import java.util.*; import java.util.stream.IntStream; import java.util.stream.Stream;/*** author HelloWorld* date 2024/1/2 18:32* email helloworld.dnggmail.com*/ public class BinaryTreeE {public static void main(String[] args) {BinaryTreeInteger binaryTree init(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);//BinaryTreeInteger binaryTree init(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);print(binaryTree);}NodeE root;/*** description 初始化二叉树(层次遍历)* author HelloWorld* create 2024/1/2 18:57* param elements* return com.wy.algo.tree.BinaryTreeE*/SafeVarargspublic staticE BinaryTreeE init(E... elements) {Assert.notEmpty(elements, elements must not be empty);BinaryTreeE tree new BinaryTree();tree.root new Node(elements[0]);QueueNodeE queue new LinkedList();queue.offer(tree.root);int index 1;while (!queue.isEmpty()) {NodeE node queue.poll();if (index elements.length) {node.left new Node(elements[index]);queue.offer(node.left);}index;if (index elements.length) {node.right new Node(elements[index]);queue.offer(node.right);}index;}return tree;}public staticE void print(BinaryTreeE tree) {ListListNodeE levelNodeList levelOrderTraversal(tree);int height levelNodeList.size();for (int level 1; level height; level) {ListNodeE nodelist levelNodeList.get(level - 1);// 打印首个节点int firstNodePosition (int) Math.pow(2, (height - level)) - 1;System.out.print(getBlankSpace(firstNodePosition) nodelist.get(0).element);// 优化显示效果将间距修改为2int separation (int)Math.pow(2, (height-level1));String separationBlankSpace getBlankSpace(separation);for (int i 1; i nodelist.size(); i) {// 打印中间节点System.out.print(separationBlankSpace nodelist.get(i).element);}System.out.println();}}public staticEListListNodeE levelOrderTraversal(BinaryTreeE tree) {QueueNodeE queue new LinkedList();queue.offer(tree.root);ListListNodeE result new ArrayList();while (!queue.isEmpty()) {// 此时队列的容量就是当前层的节点个数int levelSize queue.size();ArrayListNodeE levelNodes new ArrayList();for (int i 0; i levelSize; i) {NodeE node queue.poll();levelNodes.add(node);if (node.left ! null) {queue.offer(node.left);}if (node.right! null) {queue.offer(node.right);}}result.add(levelNodes);}return result;}private static String getBlankSpace(int n) {StringBuilder builder new StringBuilder();while (n 0) {builder.append(\t);n--;}return builder.toString();}/*** description 根据节点个数计算完全二叉树的高度* author HelloWorld* create 2024/1/2 19:48* param nodeNums* return int*/public static int getHeight(int nodeNums) {int level 1;while (!(Math.pow(2, level - 1) nodeNums Math.pow(2, level) nodeNums)) {level;}return level;}static class NodeE {E element;NodeE left;NodeE right;public Node(E element) {this.element element;this.left null;this.right null;}} }
http://www.hkea.cn/news/14384990/

相关文章:

  • 网站怎么建设后台如何卸载和重装wordpress
  • 创新型的合肥网站建设建设网站的步骤知乎
  • 班组建设网站免费搭建自助网站
  • 网站如何带来流量电子商务网站怎么做素材包
  • 网站做优化有什么好处成都广告公司排行前十名
  • 南京网站优化平台好网站的建设标准
  • 自助建站什么意思学做网站在什么地方学
  • 免费入驻的外贸网站整改网站建设情况
  • 网站前置审批文件唐山网站托管
  • 网站建站视频教程做国外服务器网站
  • 网站主体备案号电商实训网站建设报告
  • 专业建站方案我要推广网
  • 唐山市城市建设规划局网站网站开发公司管理模式
  • 个人网站源代码财政局网站开发合同
  • 做百度网站每年的费用多少钱河北病例最新情况
  • 海参企业网站怎么做wordpress 会话已过期
  • ps可以做网站动态图交换链接案例
  • 宝塔怎么做网站的301跳转卫生间做防水网站
  • 深圳高端网站建设公司排名新手怎么优化网站
  • 经销做网站都有什么好处建站网站免费
  • 网站图片速度网站网页区别是什么意思
  • 网站开发的成果网站建设分金手指专业十四
  • 网站建设明细报价单做网站要主机还是服务器
  • 网站做com合net的区别做推广怎么让别人加你
  • 一般网站设计多少钱郑州专业公司网站制作公司
  • 网站了建设清理wordpress模板
  • 网站建设费用报价计算机电子商务主要学什么
  • 宁工图书馆哪种书是关于做网站的怎么注册商标品牌
  • 宠物网站建设策划书wordpress可视化编辑插件
  • 网站做常规优化做网站还用注册商标吗