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

建立网站tkwordpress简洁博客模板下载

建立网站tk,wordpress简洁博客模板下载,商城app源码,镇江市丹徒区建设局网站二叉树 1. 递归遍历1. 先序遍历2. 中序遍历3. 后序遍历 2. 非递归遍历2.1 先序遍历2.2 中序遍历2.3 后序遍历2.3.1 两栈实现2.3.2 一栈实现 1. 递归遍历 二叉树的结构定位为#xff1a; public static class TreeNode {public int val;public TreeNode left;public TreeNode … 二叉树 1. 递归遍历1. 先序遍历2. 中序遍历3. 后序遍历 2. 非递归遍历2.1 先序遍历2.2 中序遍历2.3 后序遍历2.3.1 两栈实现2.3.2 一栈实现 1. 递归遍历 二叉树的结构定位为 public static class TreeNode {public int val;public TreeNode left;public TreeNode right;public TreeNode(int v) {val v;}}1. 先序遍历 // 递归先序遍历public static void preOrder(TreeNode head){if (head null){return;}System.out.print(head.val ); // 打印preOrder(head.left); // 递归左子树preOrder(head.right); // 递归右子树}2. 中序遍历 // 递归中序遍历public static void inOrder(TreeNode head){if (head null){return;}inOrder(head.left); // 递归左子树System.out.print(head.val ); // 打印inOrder(head.right); // 递归右子树}3. 后序遍历 public static void posOrder(TreeNode head){if (headnull){return;}posOrder(head.left);posOrder(head.right);System.out.print(head.val );}2. 非递归遍历 2.1 先序遍历 // 栈实现非递归先序遍历public static void preOrder(TreeNode head){if (head! null){StackTreeNode stack new Stack();stack.push(head);while (!stack.isEmpty()){head stack.pop();System.out.print(head.val );// 栈先进后出 先序中左右 先压右再压左if (head.right ! null){stack.push(head.right);}if (head.left ! null){stack.push(head.left);}}System.out.println();}}2.2 中序遍历 // 栈实现非递归中序遍历 左中右// 原理还是先处理节点的左树 再到自己 再处理右树// 1. 子树的左边界全部进栈 进步骤 2// 2. 栈弹出节点并打印 此节点右树重复步骤 1// 3. 没有子树, 且栈空结束public static void inOrder(TreeNode head){if (head ! null){StackTreeNode stack new Stack();while (!stack.isEmpty() || head ! null){ // head ! null 有树// 步骤1if (head ! null){stack.push(head);head head.left;// 步骤2} else {head stack.pop();System.out.print(head.val );head head.right;}}System.out.println();}}2.3 后序遍历 2.3.1 两栈实现 // 栈实现非递归后序遍历 两个栈// 思路: 先序(中左右)--- 中右左 --- 后序(左右中)public static void posOrderTwoStack(TreeNode head){if (head! null){StackTreeNode stack new Stack();StackTreeNode collect new Stack();stack.push(head);while (!stack.isEmpty()){head stack.pop();collect.push(head); // 不打印 按照中右左进栈if (head.left ! null){stack.push(head.left);}if (head.right ! null){stack.push(head.right);}}// 出栈 左右中while (!collect.isEmpty()){System.out.print(collect.pop().val );}System.out.println();}}2.3.2 一栈实现 // 栈实现非递归后序遍历 一个栈public static void posOrderOneStack(TreeNode h){if (h ! null){StackTreeNode stack new Stack();stack.push(h);// 如果始终没有打印过节点, h就一直是头结点// 一旦打印过节点, h就变成打印节点// 之后h的含义: 上一次打印的节点while (!stack.isEmpty()){TreeNode cur stack.peek();// 取栈顶元素if (cur.left ! null h ! cur.left h! cur.right){// 有左树且左树没有被处理过stack.push(cur.left);}else if (cur.right ! null h! cur.right){// 有右树且右树没有被处理过stack.push(cur.right);}else {// 左树 右树 没有 或者 都被处理过了System.out.print(cur.val );h stack.pop(); // 指向上次打印节点}}}}
http://www.pierceye.com/news/443869/

相关文章:

  • 网站该怎么做链接百度广告联盟看广告赚钱
  • 上海网站制作全包深圳创业补贴政策2021申请流程
  • 自己怎么制作一个网站wordpress 取消赞
  • 收到短信说备案被退回但工信部网站上正常啊网络营销师是干什么的
  • 公司怎么建立网站成都创软科技的口碑
  • 帝国cms是个人网站网站建设超速云免费
  • wix做的网站wordpress显示数据库请求
  • 设计好的网站百度网站建设费用多少知乎
  • 廊坊网站制作wordpress 文章id排序
  • 湖南中小企业建站价格绍兴seo推广公司
  • 襄樊门户网站建设营销策略怎么写范文
  • 北京网站关键词优化软文广告案例500字
  • 灌云网站建设维护手机网站建站步骤论文
  • 各大网站平台发布信息山亭网站建设
  • 做网站.服务器怎么买公司网站如何上传视频
  • 广州建设工程造价信息网长春百度网站优化
  • 郑州外贸网站建设公司价格wordpress禁止百度抓取
  • 临沂建站程序衡阳网站建设ss0734
  • 开发软件下载网站备案号放网站下面居中
  • 开封网站网站建设有哪些好的模板网站
  • 专业做蛋糕视频网站网站目录怎么做301跳转
  • 白城网站建设网络营销顾问培训
  • 沈阳网站开发培训多少钱百度收录批量提交入口
  • php做的网站怎么入侵wordpress插件安装教程
  • 网站 免费 认证58同城东莞招聘
  • 大兴网站建设服务公司石家庄建站
  • 怎么给公司做个网站wordpress h1标签
  • 电子商务网站设计的原则wordpress 图片 不显示缩略图
  • 网站设计制作开发更改网站名称
  • 兰州构建公司优化网站佛山厂商