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

网站目录是什么wordpress显示文章阅读数

网站目录是什么,wordpress显示文章阅读数,网站服务器崩溃怎么办,学编程的步骤二叉树的遍历不用栈和递归 转自#xff1a;ACM之家 http://www.acmerblog.com/inorder-tree-traversal-without-recursion-and-without-stack-5988.html我们知道#xff0c;在深度搜索遍历的过程中#xff0c;之所以要用递归或者是用非递归的栈方式#xff0c;参考二叉树非…二叉树的遍历不用栈和递归 转自ACM之家 http://www.acmerblog.com/inorder-tree-traversal-without-recursion-and-without-stack-5988.html 我们知道在深度搜索遍历的过程中之所以要用递归或者是用非递归的栈方式参考二叉树非递归中序遍历都是因为其他的方式没法记录当前节点的parent,而如果在每个节点的结构里面加个parent 分量显然是不现实的那么Morris是怎么解决这一问题的呢好吧他用得很巧妙实际上是用叶子节点的空指针来记录当前节点的位置然后一旦遍历到了叶子节点发现叶子节点的右指针指向的是当前节点那么就认为以当前节点的左子树已经遍历完成。Morris 遍历正是利用了线索二叉树 的思想。 以inorder为例初始化当前节点为root它的遍历规则如下 - 如果当前节点为空程序退出。 - 如果当前节点非空 - 如果当前节点的左儿子为空那么输出当前节点当前节点重置为当前节点的右儿子。 - 如果当前节点的左儿子非空找到当前节点左子树的最右叶子节点此时最右节点的右儿子有两种情况一种是指向当前节点一种是为空,你也许感到奇怪右节点的右儿子怎么可能非空注意这里的最右叶子节点只带的是原树中的最右叶子节点。若其最右叶子节点为空令其指向当前节点将当前节点重置为其左儿子若其最右节点指向当前节点输出当前节点将当前节点重置为当前节点的右儿子,并恢复树结构即将最右节点的右节点再次设置为NULL 1 #includestdio.h2 #includestdlib.h3 4 struct tNode5 {6 int data;7 struct tNode* left;8 struct tNode* right;9 }; 10 11 void MorrisTraversal(struct tNode *root) 12 { 13 struct tNode *current,*pre; 14 15 if(root NULL) 16 return; 17 18 current root; 19 while(current ! NULL) 20 { 21 if(current-left NULL) 22 { 23 printf( %d , current-data); 24 current current-right; 25 } 26 else 27 { 28 /* 找到current的前驱节点 */ 29 pre current-left; 30 while(pre-right ! NULL pre-right ! current) 31 pre pre-right; 32 33 /* 将current节点作为其前驱节点的右孩子 */ 34 if(pre-right NULL) 35 { 36 pre-right current; 37 current current-left; 38 } 39 40 /* 恢复树的原有结构更改right 指针 */ 41 else 42 { 43 pre-right NULL; 44 printf( %d ,current-data); 45 current current-right; 46 } /* End of if condition pre-right NULL */ 47 } /* End of if condition current-left NULL*/ 48 } /* End of while */ 49 } 50 51 struct tNode* newtNode(int data) 52 { 53 struct tNode* tNode (struct tNode*) 54 malloc(sizeof(struct tNode)); 55 tNode-data data; 56 tNode-left NULL; 57 tNode-right NULL; 58 59 return(tNode); 60 } 61 62 /* 测试*/ 63 int main() 64 { 65 66 /* 构建树结构如下 67 1 68 / \ 69 2 3 70 / \ 71 4 5 72 */ 73 struct tNode *root newtNode(1); 74 root-left newtNode(2); 75 root-right newtNode(3); 76 root-left-left newtNode(4); 77 root-left-right newtNode(5); 78 79 MorrisTraversal(root); 80 return 0; 81 }   转载于:https://www.cnblogs.com/tao-alex/p/5894348.html
http://www.yutouwan.com/news/45573/

相关文章:

  • 做网站的时候遇到的问题做模板网站乐云seo效果好
  • 福州网站制作山西大学物理电子工程学院研招网
  • 怎样做营销型网站推广ppt怎么设计公司logo图片
  • 网站建设创业项目简介oa系统网页版
  • filetype ppt 网站建设wordpress国外主题推荐
  • 定制网站开发成本估算表php 数据库 wordpress
  • 有经验的江苏网站建设张家界seo优化首选
  • 嘉兴建设中心小学网站北京有哪些网站公司
  • 私人做网站平面设计画图软件
  • 魏县网站建设推广网站跳出率高还是低
  • 建设银行网站上怎么查看账户网站建设推广软件
  • 免费网站app源码WordPress博客系统安装
  • 网站开发与维护总结吸引人的软文
  • 如何用.net做网站网页制作软件html代码编辑器
  • 计算机多媒体辅助教学网站开发万州网络科技有限公司
  • 怎么做wp网站毛绒玩具 东莞网站建设 技术支持
  • 网站制作公司十强常州好一点的网站建设
  • 网站如何实现多语言wordpress apple pro
  • c2c网站开发成本企业网站管理系统联系我们怎么添加
  • 自己搭建网站自己怎么做网站
  • 做美足网站违法吗免费申请qq号注册官网
  • 南方科技大学网站建设怎么做特色网站
  • 网站访问量的单位如何做品牌推广网站
  • 精品网站建设费用 地址磐石网络discuz和WordPress哪个更好
  • 在青岛做阿里巴巴网站找谁哪里可以做游戏视频网站
  • 企业网站推广的方式有哪些WordPress苏醒模板免费
  • 网站seo注意事项创意网站建设设计公司
  • 商务网站建设的六个步骤网站建设既有书籍又有光盘
  • 邮轮哪个网站是可以做特价胃肠的wordpress 安全漏洞
  • 网站内容优化网站大图片优化