算法
文章平均质量分 73
no47k
Kernel Hacker
展开
-
二叉树系列文章之一 二叉树的性质
在二叉树的第i层上最多有2^(i-1)个节点第一层有1个节点,第二层有1 * 2个节点,第三层有1 * 2 * 2个节点,以此类推深度为K的二叉树最多有2^k-1个节点根据性质1可得如下递推公式:T = 1+2+4+8....+2^(k-1)根据等比数列求和公式可知:T = 2^k-1具有n个节点的完全二叉树高度为floor(log2n)+1floor(原创 2013-10-15 13:36:59 · 643 阅读 · 0 评论 -
二叉树系列文章之三 二叉树的非递归遍历
直接进入主题,今天要说的是二叉树的非递归遍历鉴于二叉树的后序非递归遍历和前序以及中序的实现上有不小的差异,所以今天只说前序后和中序后序留在下一篇文章吧二叉树的非递归遍历就是自己实现一个栈,用自己实现的栈模拟函数的递归调用,从而实现节点的遍历,说的通俗一点:就是手动递归(自己动手模拟递归)二叉树节点的定义 typedef struct _node {原创 2013-10-17 23:02:00 · 463 阅读 · 0 评论 -
二叉树系列文章之二 二叉树的递归遍历
第一篇文章我梳理了二叉树的性质第二篇文章就来说说二叉树的实现以及二叉树的递归形式遍历吧PS:本人的blog都是用markdown写作的,吐血推荐markdown二叉树节点的定义 typedef struct _node { char data; struct _node *l; struct _node *r;原创 2013-10-16 23:13:23 · 457 阅读 · 0 评论 -
二叉树系列文章之四 二叉树非递归的后序遍历
今儿来把二叉树的stack based的非递归遍历收个尾非对归就非递归,干嘛还扯stack based的,很洋气么?好吧,其实我只是想提前透露一下下一篇博文的内容一种不用递归,不用栈的二叉树遍历方法(空间和时间复杂度只要O(n)和O(1)哦亲)And nowLet‘s get down to business________________________________我原创 2013-10-20 23:34:34 · 495 阅读 · 0 评论