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

石家庄模板建站系统建筑工程造价网

石家庄模板建站系统,建筑工程造价网,一键seo提交收录,企业网站的网址有哪些非递归实现二叉树的前序/后序/中序遍历 中序遍历 // arr[1]// arr[2] arr[3] // arr[4] arr[5] arr[6] // arr[7] arr[8]如上数据, 以栈来代替递归实现,输出为4,2,(遍历右元素7,5,8).那么就要想办法以上面的方法入栈4,2…  非递归实现二叉树的前序/后序/中序遍历 中序遍历 // arr[1]// arr[2] arr[3] // arr[4] arr[5] arr[6] // arr[7] arr[8]如上数据, 以栈来代替递归实现,输出为4,2,(遍历右元素7,5,8).那么就要想办法以上面的方法入栈4,2,7,5,8的反序8,5,7,2,4 左节点出栈后的下个节点肯定是其父节点,右节点(在没有子节点的情况下)出栈后下个节点肯定是根左节点(如节点4的下个节点是节点2, 节点8的下个节点是节点1) step 1 遍历左节点,入栈 step 2 出栈,然后遍历该节点的右节点回到step1 以下为demo: // arr[1]// arr[2] // arr[4] arr[5] // arr[7] arr[8]push:1,2,4 pop:4 push:7 pop:7 pop:2 push:5 pop:5 push:8 pop:8 pop:1 总结: 遍历全部左节点 pop一个节点,push右节点 回到step1 先序遍历 与中序遍历类似,把输出的地方改为Push的位置就可以了,因为先序总是以根节点开始,然后再访问左右节点 后序遍历 push:1,2,4 pop:4  {prev:2,cur4} push:5 {prev:4,cur2} push:7 {prev:2,cur5} pop:7 {prev:5,cur7} push:8 {prev:7,cur5} pop:8 {prev:5,cur8} pop:5 {prev:8,cur5} pop:2 {prev:5,cur2} … 后序遍历比较麻烦一些. 按照以下规则来记忆: 当节点为叶节点时出栈 左节点出栈后,继续出栈右节点,再出栈自身节点,如果没有右节点则出栈自身节点 使用双栈实现:应该说是最简单的 pop一个节点到一个栈,然后push左右节点到另一个栈 不贴代码,代码下面有 参考此贴:http://www.cnblogs.com/MichaelYin/archive/2010/12/23/1915316.html http://www.cnblogs.com/Jax/archive/2009/12/28/1633691.html 关于递归算法和非递归算法的区别和转换的文章 http://wenku.baidu.com/view/0c2409c55fbfc77da269b1c8.html
http://www.yutouwan.com/news/261089/

相关文章:

  • 学校招聘教师网站建设网站建设运营协议
  • 网站怎么添加栏目ps切片以后 怎么做网站
  • 如何提升做网站的效率网站开发手机自适应
  • 购物网站详细设计网站优化首页付款
  • 深圳网站建设东营wordpress外贸站
  • 网站推广策划书做的好的茶叶网站有哪些
  • 软件或网站是怎么做的台州网站seo
  • 网站建设资料需要公司提交的吗网站不备案怎么办
  • 易读网站建设酒业为什么做网站
  • 制作网站一年多少钱网络培训课程
  • 网站多语言界面建设方案网站发稿平台
  • 网站开发怎么找客户二手网站需求建设分析
  • 百度软件郑州网站优化排名
  • 西安北郊网站开发seo的概念
  • 盘锦门户网站制作卖游戏辅助的网站怎么建设
  • 陕西住房和建设厅网站推广普通话的意义论文
  • 台州专业网站设计系统网站推广 html关键词代码解说
  • 网站平台管理wordpress4.7更新说明
  • 宁波市高等级公路建设指挥部网站西安小程序开发哪家好
  • 网站页面报价个人网站备案需要哪些
  • 中国农村建设网站首页昆明手机app开发
  • 做发包业务网站wordpress 验证表单
  • 网站空间虚拟主机阿里云自助建站教程
  • 百度网站推广服务商南京龙媒网络科技有限公司
  • 网站开发用哪个框架品牌名字大全
  • 天津公司网站设计怎么看网站用什么平台做的
  • 公司网页网站建设 ppt武侯区网站建设哪里好点
  • 网站备案的网站名称做网站如何规避法律风险
  • 建设一个蛋糕网站的背景与目的作作网站
  • 关于建立网站的申请重庆快速网站推广