一、中序遍历 中序遍历过程:先访问左子节点,然后访问当前节点,最后访问右子节点。 以下试一次中序遍历过程: 二、非递归实现 非递归方式遍历依赖栈来实现,因为要先访问子节点,然后访问父节点,因此必须要有...
[leetcode]94-二叉树的中序遍历
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal 著作权归领扣网络所有。商业转载请联系...
144-二叉树的前序遍历
一、题目描述 给定一个二叉树,返回它的前序遍历结果。 例如输入二叉树[1,null,2,3]: [crayon-660688de8eb16383419447/] 输出: [crayon-660688d...
二叉树的先序遍历
一、先序遍历 先序遍历的意思是:先遍历当前节点,再分别遍历左、右子节点。 例如一棵二叉树为: 它的先序遍历序列(红色虚线标出来的)为:[1, 2, 4, 3, 5 6]。 二、递归实现 递归的实现很简...
《剑指offer》面试题8:二叉树的下一个节点
一、题目 给定一颗二叉树和其中的一个节点,如何找出中序遍历序列的下一个节点?树中的节点除了有两个分别指向左右子节点的指针,还有一个指向父节点的指针。 以下面的二叉树为例,它的中序遍历序列是:[2, 4...
graphviz画二叉树对齐的小技巧
一、问题描述 画二叉树的时候,总是无法对齐圆点得到对称的节点。例如: [crayon-660688de90921712575275/] 画出来的效果: 红色标出来的4个线条,长度不一样,子节点看起来不...
105-从前序与中序遍历序列构造二叉树
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-...
《剑指offer》面试题7:重建二叉树
一、题目 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不包含重复的数字。 例如,输入前序遍历序列[1, 2, 4, 7, 3, 5, 6, 8]和中序...
排序算法四:梳排序
一、梳排序简介 梳排序是冒泡排序的一种优化方案,主要是为了解决冒泡排序中的尾部小数值问题。它主要的思想是通过比较元素和固定步长位置上的数据,先进行部分优化,然后逐步减少步长,以此来对数据进行预处理。 ...
数据结构之B树
一、B树的基本概念 B树是一种多叉树,被广泛应用于数据库索引中。它也是一种特殊的搜索树,和搜索树最大的不同在于它的每个节点都包含了n个关键字和n+1个指向子节点的指针。它的表现形式为: B树的特点: ...
8