C/C++编程笔记:数据结构二叉树的查找(前序、中序、后序、层序遍历)

建立一棵含有n个结点的二叉树,采用二叉链表存储;

输出前序、中序、后序、、层序遍历该二叉树的遍历结果。

定义二叉树的数据类型——二叉树结点结构体BiNode。建立二叉链表可以采用扩展二叉树的一个遍历序列,例如前序序列,将扩展二叉树的前序序列由键盘输入,建立该二叉树的二叉链表存储。

简单起见,本实验假定二叉树的数据元素为char型

用模板类改写

C/C++编程笔记:数据结构二叉树的查找(前序、中序、后序、层序遍历)_第1张图片

创建一个拓展二叉树,我们用#来代指虚结点:

C/C++编程笔记:数据结构二叉树的查找(前序、中序、后序、层序遍历)_第2张图片

前序遍历的实现:

C/C++编程笔记:数据结构二叉树的查找(前序、中序、后序、层序遍历)_第3张图片

中序遍历的实现:

C/C++编程笔记:数据结构二叉树的查找(前序、中序、后序、层序遍历)_第4张图片

后序遍历的实现:

C/C++编程笔记:数据结构二叉树的查找(前序、中序、后序、层序遍历)_第5张图片

层序遍历的实现:

C/C++编程笔记:数据结构二叉树的查找(前序、中序、后序、层序遍历)_第6张图片

程序主函数部分代码:

C/C++编程笔记:数据结构二叉树的查找(前序、中序、后序、层序遍历)_第7张图片

结果:

该二叉树的根节点是:a

该二叉树的前序遍历是:a b d e c f

该二叉树的中序遍历是:d b e a c f

该二叉树的后序遍历是:d b e c f a

该二叉树的层序遍历是:a b c d e f

本文就到这里,希望此案例的展示对你有帮助!

“我是一名从事了10年开发的老程序员,最近我花了一些时间整理关于C语言、C++,自己有做的材料的整合,一个完整的学习C语言、C++的路线和工具。感觉自学C/C++编程有难度的小伙伴可以扫下方二维码。这里是编程爱好者的聚集地,欢迎初学和进阶中的小伙伴。希望你也能凭自己的努力,成为下一个优秀的程序员。

C/C++编程笔记:数据结构二叉树的查找(前序、中序、后序、层序遍历)_第8张图片

C/C++学习路线图:

C/C++编程笔记:数据结构二叉树的查找(前序、中序、后序、层序遍历)_第9张图片

 

你可能感兴趣的:(C语言)