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

机械公司网站建设大批量刷关键词排名软件

机械公司网站建设,大批量刷关键词排名软件,织梦做的网站打开慢,软件定制开发公司的商业模式一、题目解析 对于递归方法的前序遍历十分简单,但对于一位合格的程序猿而言,需要掌握将递归转化为非递归的能力,毕竟递归调用的时候会调用大量的栈帧,存在栈溢出风险。 二、算法原理 递归调用本质是系统建立栈帧,而非…

一、题目解析

对于递归方法的前序遍历十分简单,但对于一位合格的程序猿而言,需要掌握将递归转化为非递归的能力,毕竟递归调用的时候会调用大量的栈帧,存在栈溢出风险。

二、算法原理

递归调用本质是系统建立栈帧,而非递归则是用栈来存储数据,实现类似递归的效果。

首先,我们先简单了解一下递归调用时,是如何遍历的?

前序遍历,由根、左子树、右子树的顺序遍历,打印时直接打印根节点的值。

根据这个我们把它转换到非递归上,对于非递归遍历,左子树节点全部入栈,然后依次访问左子树节点的右子树,由于栈的特性保证后进先出,所以不用担心遍历出错,对于右子树的遍历同样如此,左子树进栈,然后访问右子树。

由此我们可以看出非递归本质上与递归没有多大差别。

三、代码示例

class Solution {
public:vector<int> preorderTraversal(TreeNode* root) {stack<TreeNode*> st;TreeNode* cur = root;vector<int> v;while(cur || !st.empty()){//访问一棵树的开始//1.访问左路节点,左路节点入栈,后续依次访问左路节点的右子数while(cur){v.push_back(cur->val);st.push(cur);cur = cur->left;}//依次访问左路节点的右子树TreeNode* top = st.top();st.pop();//子问题的方式访问右子树cur = top->right;}return v;}
};

push是栈的入数据操作,top则是栈的获取栈顶元素操作,pop则是栈的删数据操作,push_back是vector的尾插操作

 

四、非递归遍历流程

 

 看到最后,如果对您有所帮助,还请点赞、收藏和关注,点点关注不迷路,我们下期再见!

 

http://www.dtcms.com/wzjs/119257.html

相关文章:

  • 承德网站建设电话周口网络推广哪家好
  • 网站建设广东seo网站诊断分析报告
  • WordPress放B站百度搜索排行榜风云榜
  • 中英双语网站百度打广告怎么收费
  • 邯郸市第一医院seo岗位培训
  • 做网站去哪个公司东莞百度网站排名优化
  • 做网站登入见面网络推广公司介绍
  • 大兴手机网站建设属于免费的网络营销方式
  • 自创网站长沙百度网站推广
  • 网站开发 技术难点北京seo如何排名
  • 大型公司建站域名注册人查询
  • 学校网站建设的要点阿里云域名注册入口官网
  • 广州公司核名在哪个网站网站设计的毕业论文
  • 网站建设 小知识公司宣传网页怎么做
  • 做网站需要会编程吗站长平台百度
  • php和织梦那个做网站好纹身网站设计
  • 网站的做网站公司口碑营销的产品
  • 国内电商运营是做什么的常州seo建站
  • wordpress本地ftpgoogle seo 优化招聘
  • 建盏生态公司重庆seo俱乐部
  • 网站建设所属行业好用的种子搜索引擎
  • 电子商务网站整体策划谷歌seo优化技巧
  • wordpress边栏扩大尺寸上海百度关键词优化公司
  • 企业网站备案条件商业软文案例
  • php可以做动态网站吗黑龙江新闻
  • windows主机 wordpress 防盗链沈阳seo优化
  • 做钢铁资讯的网站网站seo优化教程
  • 全国电子网站建设站长工具怎么关掉
  • 如何网络推广推广优化软件
  • 网站制作费用关键词营销推广