二叉树是一种很直观的非线性数据结构。本篇主要记录与二叉树相关的数据结构的java语言实现方法。
一、二叉树
1. 节点
既然有java,就简简单单用类来实现节点。
main函数手动建树:
这样就建好了一个无序的二叉树。
2. 遍历
一般遍历有深度优先和广度优先两种,深度包括先序、后序、中序遍历。这三者区别主要是先序遍历优先访问中间节点,中序是在中间访问中间节点(先访问左节点,后中节点,后右节点),后序遍历是先左右节点最后中间节点。
广度优先遍历即层次遍历,和bfs
类似,将首节点入队,每次循环从队伍中取出一个点,输出中间节点,把左右子节点入队,从上到下按层访问。