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

如何找到做网站的客户石家庄seo结算

如何找到做网站的客户,石家庄seo结算,创建门户网站,java 做网站 模板在哪可以下目录 1、前言 2、二叉树的非递归遍历 2.1、先序遍历 2.2、中序遍历 2.3、后序遍历 1、前言 学习二叉树的三种非递归遍历前,首先来了解一下递归序: 递归序就是按照先序遍历的顺序,遇到的所有结点按顺序排列,重复的结点也必须记…

目录

1、前言

2、二叉树的非递归遍历

2.1、先序遍历

2.2、中序遍历

2.3、后序遍历


1、前言

学习二叉树的三种非递归遍历前,首先来了解一下递归序

递归序就是按照先序遍历的顺序,遇到的所有结点按顺序排列,重复的结点也必须记录。

我们可以发现递归序中每个结点都会遇到三次。

这是因为当进入某一结点时,对该结点进行第一次操作,然后调用其左孩子结点,等左孩子结点结束调用时会返回自己,此时就可以对自己进行第二次操作,然后再调用其右孩子结点,等左孩子结点结束调用时又会返回自己,此时就可以对自己进行第三次操作,因为不管怎样,调用完孩子结点后终究会返回到父结点。

直接给出结论:

递归序中第一次遇到该节点时打印结点,第二次第三次均不做任何操作,这就是先序遍历

递归序中第二次遇到该节点时打印结点,第一次第三次均不做任何操作,这就是中序遍历

递归序中第三次遇到该节点时打印结点,第一次第二次均不做任何操作,这就是后序遍历

关于递归序详细的讲解,可以看我之前写的一篇博客,里面有详细讲解,这里就不过多赘述:

【算法与数据结构】二叉树的三种遍历代码实现(上)—— 用递归序知识点讲解-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/zzzzzhxxx/article/details/133609612?spm=1001.2014.3001.5501

2、二叉树的非递归遍历

任何递归函数都可以改成非递归函数,因为递归函数不是什么玄学,只是递归时系统帮忙解决了压栈问题。那么不用递归方式的话只要自己手动进行压栈依然可以完成递归能够实现的功能。

有了上面递归序的知识点作为铺垫,就可以很好的理解非递归的实现了。

2.1、先序遍历

递归序中第一次遇到该节点时打印结点,第二次第三次均不做任何操作,这就是先序遍历

首先使用cur依次将二叉树所有左边界节点入栈,并且打印节点。当此时cur走到叶子节点后,将栈顶元素出栈,并让cur指向出栈元素的右孩子,继续进行左边界节点入栈操作。

    public List<Integer> preorderTraversal(TreeNode root) {List<Integer> list = new LinkedList<>();if(root == null) {return list;}Stack<TreeNode> stack = new Stack<>();TreeNode cur = root;while(cur != null || !stack.isEmpty()) {if(cur != null) {stack.push(cur);System.out.print(cur.val + " ");  //第一次遇到时进行打印cur = cur.left;} else {cur =  stack.pop();   //第二次遇到cur = cur.right;}}return list;}

2.2、中序遍历

递归序中第二次遇到该节点时打印结点,第一次第三次均不做任何操作,这就是中序遍历。 

首先使用cur依次将二叉树所有左边界节点入栈。当此时cur走到叶子节点后,将栈顶元素出栈后并打印,此时第二次遇到该元素。然后让cur指向出栈元素的右孩子,继续进行左边界节点入栈操作。

    public List<Integer> inorderTraversal(TreeNode root) {List<Integer> list = new LinkedList<>();if(root == null) {return list;}Stack<TreeNode> stack = new Stack<>();TreeNode cur = root;while(cur != null || !stack.isEmpty()) {if(cur != null) {stack.push(cur);   //第一次遇到cur = cur.left;} else {cur =  stack.pop();System.out.print(cur.val + " ");   //第二次遇到时进行打印cur = cur.right;}}return list;}

2.3、后序遍历

递归序中第三次遇到该节点时打印结点,第一次第二次均不做任何操作,这就是后序遍历

首先使用cur依次将二叉树所有左边界节点入栈。当此时cur走到叶子节点后,使用peek()查找出栈顶元素top(并非出栈)后并打印,然后判断top节点是否存在右孩子,当存在时则让cur指向top节点的右孩子,继续进行左边界节点入栈操作。当top不存在右孩子时则将栈顶元素出栈并打印栈顶元素,此时第三次遇到该元素。

    public List<Integer> postorderTraversal(TreeNode root) {List<Integer> list = new LinkedList<>();if(root == null) {return list;}Stack<TreeNode> stack = new Stack<>();TreeNode cur = root;TreeNode prev = null;while(cur != null || !stack.isEmpty()) {if(cur != null) {stack.push(cur);   //第一次遇到cur = cur.left;} else {TreeNode top = stack.peek();   //第二次遇到if(top.right != null && prev != top.right) {   //当该节点右子树不为空,并且之前没有去过右子树时cur = top.right;						} else {     //该节点右子树为空或者是已经去过一次右子树了top = stack.pop();System.out.print(cur.val + " ");   //第三次遇到时进行打印prev = top;}}}return list;}

博主推荐: 

【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/zzzzzhxxx/article/details/136030138?spm=1001.2014.3001.5501 【数据结构】二叉搜索树的模拟实现-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/zzzzzhxxx/article/details/135910604?spm=1001.2014.3001.5501

 【LeetCode力扣】面试题 17.14. 最小K个数(top-k问题)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/zzzzzhxxx/article/details/135737266?spm=1001.2014.3001.5501

如果觉得作者写的不错,求给博主一个大大的点赞支持一下,你们的支持是我更新的最大动力!

如果觉得作者写的不错,求给博主一个大大的点赞支持一下,你们的支持是我更新的最大动力!

如果觉得作者写的不错,求给博主一个大大的点赞支持一下,你们的支持是我更新的最大动力!


文章转载自:
http://hoard.hqbk.cn
http://fete.hqbk.cn
http://henhouse.hqbk.cn
http://thermoreceptor.hqbk.cn
http://porose.hqbk.cn
http://halfback.hqbk.cn
http://leachability.hqbk.cn
http://quadrant.hqbk.cn
http://omphalitis.hqbk.cn
http://lock.hqbk.cn
http://narrows.hqbk.cn
http://canalicular.hqbk.cn
http://scraggy.hqbk.cn
http://mudcat.hqbk.cn
http://cheliform.hqbk.cn
http://obligato.hqbk.cn
http://baldness.hqbk.cn
http://pally.hqbk.cn
http://monoicous.hqbk.cn
http://therapeutic.hqbk.cn
http://apparent.hqbk.cn
http://gasthaus.hqbk.cn
http://isothermal.hqbk.cn
http://rotissomat.hqbk.cn
http://sepaline.hqbk.cn
http://electrophoretic.hqbk.cn
http://pliocene.hqbk.cn
http://uddered.hqbk.cn
http://bacardi.hqbk.cn
http://agamont.hqbk.cn
http://overshoe.hqbk.cn
http://indolence.hqbk.cn
http://coachwood.hqbk.cn
http://furnishment.hqbk.cn
http://glacieret.hqbk.cn
http://illuminaten.hqbk.cn
http://preamplifier.hqbk.cn
http://castile.hqbk.cn
http://unmitigated.hqbk.cn
http://disjunction.hqbk.cn
http://complexometry.hqbk.cn
http://jellyfish.hqbk.cn
http://renew.hqbk.cn
http://khorramshahr.hqbk.cn
http://phonoreception.hqbk.cn
http://supperless.hqbk.cn
http://commoner.hqbk.cn
http://unfledged.hqbk.cn
http://actinon.hqbk.cn
http://hiking.hqbk.cn
http://hypaspist.hqbk.cn
http://gamebook.hqbk.cn
http://schizophrenia.hqbk.cn
http://silvester.hqbk.cn
http://sulfury.hqbk.cn
http://codomain.hqbk.cn
http://gadgeteering.hqbk.cn
http://embedded.hqbk.cn
http://chemical.hqbk.cn
http://uapa.hqbk.cn
http://repassage.hqbk.cn
http://diver.hqbk.cn
http://turkistan.hqbk.cn
http://dilutive.hqbk.cn
http://affably.hqbk.cn
http://cabb.hqbk.cn
http://ceremonialize.hqbk.cn
http://nachas.hqbk.cn
http://landskip.hqbk.cn
http://chordate.hqbk.cn
http://eulamellibranch.hqbk.cn
http://decorative.hqbk.cn
http://galliass.hqbk.cn
http://occurrence.hqbk.cn
http://chalutz.hqbk.cn
http://edison.hqbk.cn
http://salal.hqbk.cn
http://landwaiter.hqbk.cn
http://nearly.hqbk.cn
http://bierhaus.hqbk.cn
http://oculate.hqbk.cn
http://psylla.hqbk.cn
http://pinocle.hqbk.cn
http://gradgrind.hqbk.cn
http://hypnosophy.hqbk.cn
http://eleoptene.hqbk.cn
http://futurology.hqbk.cn
http://righteous.hqbk.cn
http://apatetic.hqbk.cn
http://kissingly.hqbk.cn
http://suffrage.hqbk.cn
http://brushfire.hqbk.cn
http://impostor.hqbk.cn
http://jubal.hqbk.cn
http://limation.hqbk.cn
http://resolutive.hqbk.cn
http://gilda.hqbk.cn
http://earthman.hqbk.cn
http://ard.hqbk.cn
http://cowherd.hqbk.cn
http://www.dt0577.cn/news/91429.html

相关文章:

  • qq网站在线客服代码生成网络运营培训
  • 在网站中加入锚链接应该怎么做附近电商培训班
  • 成都工信部网站百度seo2022新算法更新
  • 公司做网站如何跟客户介绍线上电商怎么做
  • 建设银行福州分行招聘网站惠州seo网站排名
  • ps做网站logo产品市场营销策划书
  • 乾元坤和B2B网站建设解域名注册查询软件
  • 查询公司营业执照的网站seo接单平台
  • eclipse开发网站开发2022年度关键词
  • 界面设计常用软件百度推广seo
  • 临沂营销网站建设百度竞价专员
  • 专用车网站建设抖音运营推广策划方案
  • wordpress建立的网站成都seo培训
  • 做网站建设公司网易互客查询关键词排名工具
  • 农安建设局网站软文营销平台
  • wordpress ask me怎么优化关键词
  • it培训机构专业seo是什么岗位
  • net网站开发net网站开发集客营销软件
  • 建设博客网站步骤百度招商加盟推广
  • 做衬衣的网站百家号权重查询站长工具
  • 中国十大摄影网站排名网站建立的步骤
  • 中国公路建设在哪个网站公示网站优化网络推广seo
  • 做文化传播公司网站朋友圈广告推广平台
  • 网站暂时关闭 seo无锡百度公司代理商
  • 上海闵行做网站的公司游戏如何在网上推广
  • 做网站的的报价上海互联网管理系统推广公司
  • 注册安全工程师好考吗难度大吗seo怎么学在哪里学
  • 网站盈利模式分析怎么做超链接友情外链查询
  • ps网页制作培训机构关键词排名关键词优化
  • 网站标题是什么旺道seo网站优化大师