设计二叉树的双序遍历算法(双序遍历是指对于二叉树的每一个结点来说,先访问这个结
点,再按双序遍历它的左子树,然后再一次访问这个结点,接下来按双序遍历它的右子树

思路:
1.双序遍历与中序遍历类似,是中序遍历的变形

2.中序遍历是指对于二叉树的每一个结点来说,先中序遍历这个结
点的左子树,然后访问这个结点,接下来中序遍历它的右子树


二叉树的双序遍历的全部代码
#include<stdio.h>
#include<stdlib.h>
typedef char ElemType;
typedef int status;
typedef struct BiTNode{ElemType data;struct  BiTNode *lchild;struct  BiTNode *rchild;
}BiNode,*BiTree; void create_BiTree(BiTree &T)
{ElemType ch;scanf("%c",&ch);if(ch=='#')T=NULL;else{T=(BiTree)malloc(sizeof(BiNode));if(!T)exit(-1);T->data=ch;create_BiTree(T->lchild);create_BiTree(T->rchild);}
}void CreateBiTree(BiTree &T)//二叉树的先序创建
{ElemType ch;scanf("%c",&ch);if(ch=='#')T=NULL;else {T=(BiNode*)malloc(sizeof(BiNode));if(!T)exit(-1);T->data=ch;CreateBiTree(T->lchild);CreateBiTree(T->rchild);}
}
void double_preorderTraverse(BiTree T)
{if(T!=NULL){printf("%c ",T->data);double_preorderTraverse(T->lchild);printf("%c ",T->data);double_preorderTraverse(T->rchild);}
}int main()
{BiTree T;printf("创建树输入树T的先序序列(其中使用#代表空节点)\n");create_BiTree(T);printf("双序遍历:");double_preorderTraverse(T);
}

例子:

运行结果:

数据结构——二叉树的双序遍历相关推荐

  1. 3004基于二叉链表的二叉树的双序遍历(附题意解释)

    描述 设二叉树中每个结点的元素均为一个字符,按先序遍历的顺序建立二叉链表,编写递归算法实现该二叉树的双序遍历(双序遍历是指对于二叉树的每一个结点来说,先访问这个结点,再按双序遍历它的左子树,然后再一次 ...

  2. 数据结构——二叉树的先序遍历

    二叉树的遍历分为  先序遍历,中序遍历,后序遍历,层次遍历  四种遍历. 这节要分享的是先序遍历 如图所示,这是一个普通的二叉树.他的先序遍历是:A B D E H C F G  I J 为什么呢? ...

  3. 数据结构与算法之二叉树的先序遍历,中序遍历,后序遍历

    数据结构与算法之二叉树的先序遍历,中序遍历,后移遍历 目录 实现二叉树的先序,中序,后序遍历,包括递归方式和非递归方式 在二叉树中找到一个节点的后继节点 1. 实现二叉树的先序,中序,后序遍历,包括递 ...

  4. 数据结构---前序和中序遍历的二叉树序列还原二叉树

    数据结构-前序和中序遍历的二叉树序列还原二叉树 代码: #include<stdio.h> #include<stdlib.h> typedef struct bstTree ...

  5. [LeetCode] Binary Tree Postorder Traversal 二叉树的后序遍历

    Given a binary tree, return the postorder traversal of its nodes' values. For example: Given binary ...

  6. LeetCode 92反转链表Ⅱ93复制ip地址94二叉树的中序遍历

    微信搜一搜:bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打卡群,欢迎 ...

  7. LeetCode 145. 二叉树的后序遍历(后序遍历总结)

    文章目录 1. 题目信息 2. 解法 2.1 递归 2.2 循环,必须掌握 a. 单栈 b. 双栈解法 3. 前中后序总结 1. 题目信息 给定一个二叉树,返回它的 后序 遍历. 示例:输入: [1, ...

  8. 二叉树----数据结构:二叉树的三种遍历及习题

    二叉树----数据结构:二叉树的三种遍历,利用递归算法. 关于二叉树的遍历,应用非常广泛,不单单是访问打印结点,还可以进行一系列的操作,如赋值.删除.查找.求二叉树的深度等等. 有递归和非递归两种算法 ...

  9. 二叉树的中序遍历 递归与非递归

    94. 二叉树的中序遍历 给定一个二叉树的根节点 root ,返回它的 中序 遍历. 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [ ...

最新文章

  1. 设立『自动驾驶虚拟仿真赛道』
  2. 电视机当计算机屏幕,怎么实现电视机当电脑的显示器和音箱用?
  3. .net core在网关中统一配置Swagger
  4. Spring MVC:高级会话
  5. adb 抓取日志到指定文件,文件命名为当前电脑时间
  6. Linux笔记-iptables开放指定端口,开放ICMP协议,其他端口禁止访问
  7. 利用mysqldump 将一个表按条件导出数据
  8. Web页面自动化执行,Java+Selenium3.0-Mac OS环境搭建
  9. dubbo注入找不到bean_Dubbo配置参考手册之dubbo:reference
  10. 学习机器学习,需要具备什么的数学基础?
  11. 学生作业管理系统java源码_基于jsp的学生作业管理-JavaEE实现学生作业管理 - java项目源码...
  12. jquery form提交的2种方式
  13. python全套视频免费教程_《python免费视频教程33》 请问谁有靠谱的Python全套视频教程,求推荐分享...
  14. mumu的adb_MuMu模拟器进行adb操作
  15. HTML二寸照片尺寸,二寸照片尺寸是多少px
  16. Linux的自动装机服务器搭建(持续优化)
  17. MySQL高级---04
  18. 教育直播APP开发,在线教育系统开发,主要功能
  19. [收藏]《观察与思考》:相信中国,寻找下一个比尔·盖茨
  20. 2020年烟花爆竹经营单位主要负责人试题及答案及烟花爆竹经营单位主要负责人实操考试视频

热门文章

  1. StackExchange.Redis客户端读写主从配置,以及哨兵配置
  2. .NET Core:面向未来的开源跨平台开发技术
  3. django11:自动序列化/批量插入数据/分页器
  4. 微软 Windows11 Build 22000.71 更新(KB5004252)发布
  5. 【GIS风暴】GIS拓扑关系原理详解
  6. Android之网络请求提示Cleartext HTTP traffic to dev*******.com not permitted
  7. Flutter之导url_launcher包提示 A dependency may only have one source.
  8. 剑指offer之反向打印链表值
  9. React Native之触摸事件(Touchable系列和onLongPress)
  10. Android之Android studio Gradle sync failed: Unknown host ‘services.gradle.org