- 博客(2)
- 收藏
- 关注
原创 AVL树旋转的一点理解
AVL树的定义: 每一个节点的子树都是一棵AVL树; 每一个节点的左右子树的高度差不超过1 图示说明:圈代表树的节点,三角形代表子树,编号按值的大小进行排序。 以下讨论基于的前提:从图示的最顶层的节点开始平衡才被打破,它的子树都是平衡的。 本身这个前提在代码实现时也是可以保证的,正常我们在插入一个树节点时都是从root开始层层遍历直到找到节点可插入的地方。由于节点的新插入
2015-09-13 09:44:08 684
原创 递归与尾递归
说到递归,很容易想到数学归纳法。 递归,通过反复对函数自身的调用来实现,有递的过程,也有归的过程。普通的递归,在递的过程中依赖着函数的返回值,每递一步,都需要将前一步的信息压栈,在归的过程中,再一步步出栈,直到结束。尾递归,作为递归的特例,指递归调用发生在过程中最后一个语句,它的返回值不再参与运算。尾递归的特征决定了在层层调用的过程中,老的堆栈信息已没有任何意义,所以大部分的编译器在发现是尾递归
2015-09-12 22:00:10 214
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人