- 博客(4)
- 收藏
- 关注
原创 平衡二叉树的插入实现
平衡二叉树的是指左右子树的高度相差不超过1的二叉查找树,要实现平衡二叉树,我们只要在二叉查找树插入结点的时候保证左右子树的高度相差不超过1即可。 一. 平衡二叉树的插入。 现在考虑两种情况: 1. 插入新的结点后树还满足平衡二叉树的性质,也就是说左右子树的高度差不超过1,那么我们只需要根据现在的左右子树情况设置一下树的状态即可,也就是现在是左子树高或者是右子树高,还是左右子树的高度相
2013-12-08 22:01:22 1095
原创 按层遍历二叉树
对于二叉树,可能大家都会很熟悉前序,中序和后序遍历: 前序遍历就是先访问父结点,然后访问左子结点,最后访问右子结点。 中序遍历就是先访问左子结点,然后访问父结点,最后访问右子结点。 后续遍历就是先访问左子结点,然后访问右子结点,最后访问父结点。 其实就是按照访问父结点的顺序来定义的。 好,那么按层遍历应该怎么实现呢?先看图 按层遍历的结果是:15,6,18,3,7,17
2013-11-30 21:41:49 616
原创 堆排序原理及c语言实现
很多同学在开始学排序算法的时候都会觉得堆排序是比较难的,其实对于堆排序,只要理解了两点,就会觉得堆排序还算是挺简单的,下面说说要理解哪两点以及c语言的实现。 第一点:堆的特性。 下面的堆的特性定义来自算法导论: 最大堆特性是指除了跟以外的每个结点i,有A[PARENT[i]]>=A[i],即每个结点的值至多是和其父结点的值一样大。 最小堆特性是指出了跟以外的每个结点i,有A[PARENT[i]]
2013-11-30 11:05:51 794
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人