算法导论 练习题 10.4-5
来源:互联网 发布:大数据与市场调研 编辑:程序博客网 时间:2024/05/13 20:11
typedef struct Tree{int key;Tree *p;Tree *left;Tree *right;}TN,*TNP;void trav(TNP root){TNP t =root;while(t){//向下走的过程,优先左子树if(t->left){t=t->left;}//同样是向下走的过程,该节点无左子树,就访问自身节点,继续找右子树else if(t->right){printf("%d ",t->key);t=t->right;}else{//叶子节点,访问自身之后开始向上走printf("%d ",t->key);//一步一步向上走的过程其实也很长呀,需要迭代while(1){//这里有几种情况:if(t==t->p->left){//1、该叶子是父节点的左孩子,父节点有右子树,那么访问完父节点,接下来应该访问父节点的右子树。//这时需要跳出向上走的迭代过程,开始沿着右子树向下走if(t->p->right){printf("%d ",t->p->key);t=t->p->right;break;}//2、该叶子是父节点的左孩子,父节点没有右子树,那么访问完父节点,继续向上走else{printf("%d ",t->p->key);t=t->p;}}//该节点是父节点的右孩子,因为右子树是访问完左子树和根之后访问的,所以不需要访问父节点,直接向上走else{t=t->p;}//如果向上走到根节点,结束if(t==root)return;}}}}
0 0
- 算法导论 练习题 10.4-5
- 算法导论 练习题 10.4-2
- 算法导论 练习题 10.4-3
- 算法导论 练习题 10.4-4
- 算法导论 练习题 10.4-6
- 算法导论 练习题 3.2-5
- 算法导论 练习题 4.1-5
- 算法导论 练习题 4.4-5
- 算法导论 练习题 5.2-5
- 算法导论 练习题 5.3-5
- 算法导论 练习题 6.1-5
- 算法导论 练习题 6.2-5
- 算法导论 练习题 7.2-5
- 算法导论 练习题 7.4-5
- 算法导论 练习题 12.1-5
- 算法导论 练习题 13.1-5
- 算法导论 练习题 14.1-5
- 算法导论 练习题 14.3-5
- JVM实用参数系列
- Unity自定义UI组件(二)函数图篇(下)
- Linux——MySQL安装、配置
- 备忘录之在jsp页面中获取链接,url,传递的参数
- BZoj 2761: [JLOI2011]不重复数字 (set
- 算法导论 练习题 10.4-5
- 设计模式之建造者模式
- 'fd': 未知重写说明符
- Kanzi基础---configure配置文件
- 数据结构之哈夫曼编码,哈夫曼树
- MSYS2 在 windows 上的开发环境
- C++11并发之std::thread
- 【ACM】P2000、P2001、P2002、P2003、P2004、P2005代码演示
- 1