题目描述 已知一个按先序序列输入的字符序列,如abc,,de,g,,f,,,(其中逗号表示空节点)。请建立二叉树并按中序和后序方式遍历二叉树,最后求出叶子节点个数和二叉树深度。输入输入一个长度小于50个字符的字符串。输出输出共有4行:第1行输出中序遍历序列;第2行输出后序遍历序列;第3行输出叶子.....
分类:
其他好文 时间:
2014-11-21 21:49:11
阅读次数:
259
一、层次遍历:借助队列实现 1 void LevelOrderTraversal(BiTree root) 2 { 3 BiTree e = root;//从根节点开始 4 Queue *q; 5 InitQueue(q); 6 7 if(e)//若根结点非...
分类:
其他好文 时间:
2014-11-19 00:29:25
阅读次数:
238
【题目】不使用递归,对二叉树进行先序、中序和后序遍历【思路】利用栈先序:1. 输出当前结点2. 把右孩子放到栈中3. 当前指针指向左孩子4. 重复1-3,直到叶子结点5. 如果栈不空,则从栈里POP出一个结点,赋值给当前节点6. 重复1-5中序:1. 如果当前节点不为空,把当前节点PUSH2. 当前...
分类:
其他好文 时间:
2014-11-17 15:30:06
阅读次数:
141
这道题目很经典,具体如下:已知遍历结果如下,试画出对应的二叉树:前序:A B C E H F I J D G K中序:A H E C I F J B D K G解题要点:1、前序、中序、后序——都针对中间那个节点而言(根节点也是中间的节点)。前序,指先遍历中间节点,然后左,然后右。中序,指左——中—...
分类:
Web程序 时间:
2014-11-17 00:25:39
阅读次数:
276
主要实现了双向链表的在尾部插入,在指定位置插入,前序遍历和后序遍历,以及删除指定节点和删除匹配数据的节点。因为在Windows下使用VS调试用CB写的C代码产生太多问题,因此使用了C++,但是没有使用太多C++的特性,应该很容易移植到C编译器下。下面是全部代码DouNode.cpp 1 #incl....
分类:
其他好文 时间:
2014-11-17 00:18:13
阅读次数:
278
(一)从上往下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。【层次遍历】 从上到下打印二叉树的规律:每一次打印一个节点的时候,如果该节点有子节点,则把该节点的子节点放到一个队列的末尾。...
分类:
其他好文 时间:
2014-11-16 20:14:43
阅读次数:
231
重建二叉树
时间限制:1000 ms | 内存限制:65535 KB
难度:3
描述题目很简单,给你一棵二叉树的后序和中序序列,求出它的前序序列(So easy!)。
输入输入有多组数据(少于100组),以文件结尾结束。
每组数据仅一行,包括两个字符串,中间用空格隔开,分别表示二叉树的后序和中序序列(字符串长度小于26,输入数据保证合法)。
输出每组输出...
分类:
其他好文 时间:
2014-11-16 13:27:50
阅读次数:
183
在web开发过程中,有时候为了数据传输的方便,比如:后台需要更新前端的ViewModel,此时我们定义一个与前端ViewModel结构一样的DTO对象,从数据层获取数据后,将数据封装成DTO然后序列化为json传回前端,由于我正在开发的项目中的Model是用DataSet来实现的,不是纯粹的面向对象...
分类:
其他好文 时间:
2014-11-13 18:46:35
阅读次数:
197
1.后序遍历的非递归实现。(左右根)难点:后序遍历的非递归实现是三种遍历方式中最难的一种。因为在后序遍历中,要保证左孩子和右孩子都已被访问并且左孩子在右孩子前访问才能访问根结点,这就为流程的控制带来了难题。下面介绍两种思路。思路:有个关键的就是unUsed这个标识符。当unUsed=1时,表示该节点...
分类:
其他好文 时间:
2014-11-11 16:28:14
阅读次数:
171
Given inorder and postorder traversal of a tree, construct the binary tree.Note:You may assume that duplicates do not exist in the tree.后序遍历的最后一个元素就是根...
分类:
其他好文 时间:
2014-11-11 00:40:07
阅读次数:
189