【目标】建立如下所示的一棵二叉树,并且输出其对应的前序遍历、中序遍历、后序遍历。...
分类:
编程语言 时间:
2015-07-06 17:59:55
阅读次数:
261
原题如下:
Given a binary tree, return the bottom-up level order traversal of its nodes’ values. (ie, from left to right, level by level from leaf to root).我的算法:
1. 首先获得树的高度
2. 层序递归遍历二叉树实现如下:package leet...
分类:
其他好文 时间:
2015-06-29 15:02:29
阅读次数:
130
数据结构实验之二叉树的建立与遍历
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
已知一个按先序序列输入的字符序列,如abc,,de,g,,f,,,(其中逗号表示空节点)。请建立二叉树并按中序和后序方式遍历二叉树,最后求出叶子节点个数和二叉树深度。
输入
输入一个长度小于50个字符的...
分类:
其他好文 时间:
2015-06-27 18:28:04
阅读次数:
144
这段代码主要实现了最优美的求二叉树节点深度以及遍历二叉树
分类:
其他好文 时间:
2015-06-26 21:07:13
阅读次数:
121
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
写在前面:
最近准备找工作,捡起原来学习过的各种知识,加上一些自己的理解,梳理一下流程,巩固自己的认识,一步两步,一步两步。。。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...
分类:
其他好文 时间:
2015-06-26 09:24:28
阅读次数:
189
问题描述中序遍历二叉树时,很简单,需要加上递归就可以优雅地实现了。当然,使用递归的话,函数调用栈的空间就会达到O(log n)。那么有什么方式,可以使得中序遍历二叉树的复杂度为O(1)呢?问题分析既然要保证O(1)复杂度,那么就不能使用递归调用了。目标方案应该是使用while或for循环的方式。下面借用一张图来解释(来源:http://www.2cto.com/kf/201402/277873.ht...
分类:
其他好文 时间:
2015-06-22 11:05:39
阅读次数:
205
三种方法中,递归最为简单,栈次之,循环最为麻烦。递归的深度如果太大则会导致栈溢出;栈的方式需要额外的辅助空间;循环编程最麻烦。
首先是递归:
//递归方法
void midPrint_r(TreeNode* root)
{//中序遍历
if(root==NULL)
return;
if(root->left)
midPrint(root->left);
c...
分类:
其他好文 时间:
2015-06-21 10:39:45
阅读次数:
109
题目描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路:根结点入队,然后循环判断队列是否为空,不为空则出队列,然后判断出队列的结点是否含有左右子结点,有的话则左右子结点分别进队列,直到队列为空实现代码如下:#include #includeusing namespace std; st...
分类:
其他好文 时间:
2015-06-21 00:39:11
阅读次数:
250
#include
#include
#include
using namespace std; //二叉树结点
typedef struct BiTNode{
//数据
char data;
//左右孩子指针
struct BiTNode *lchild,*rchild;
}BiTN...
分类:
编程语言 时间:
2015-06-15 09:22:17
阅读次数:
154