树的逻辑结构:
除了根节点之外每个节点只有一个父节点,根节点是没有父节点的。
除了叶节点所有节点都有一个或多个子节点,叶节点没有子节点。
父节点和子节点之间用指针链接。
树的遍历方式:
1,前序遍历:先访问根节点,再访问左子节点,最后访问右子节点。
2,中序遍历:先访问左子节点,再访问根节点,最后访问右子节点。
3,后序遍历:先访问左子节点,再访问右子节点,最后访问根节点。
每一种遍历的实现方式都有两种,递归和循环。递归比循环简捷很多。
---宽度优先遍历:从树的第一层节点开始访问,直到最后一层。同一层节点中,从左到右的顺序依次访问。
题目:有某二叉树的前序以及中序遍历的结果,重建该二叉树。
前序:1,2,4,7,3,5,6,8
中序:4,7,2,1,5,3,8,6
栈。。。。。。。。。。
栈的特点:后进先出,即最后被压入(push)栈的元素会被第一个弹出来。(pop)。
队列。。。。。。。。。
队列的特点:先进先出,即第一个进入队列的元素将会第一个出来。