#include<stdio.h>#include<stdlib.h>#defineOK1#defineERROR0typedefstructnode{intdata;structnode*lchild;structnode*rchild;}Node,Tree;/*www.quzhuanpan.com解释全来自去转盘网,转载请告知*/typedefNode*ElemType;typedefTree*AnoElemType;voidcreatBITree(A..
分类:
其他好文 时间:
2016-01-13 19:58:08
阅读次数:
155
数据结构二叉树——编写函数实现:建立二叉树、中序递归遍历、借助栈实现中序非递归遍历、借助队列实现层次遍历、求高度、结点数、叶子数及交换左右子树。("."表示空子树)#include<stdio.h>
#include<stdlib.h>
//***********二叉树链表节点结构
typedefcharDataTy..
分类:
其他好文 时间:
2015-11-29 06:53:11
阅读次数:
211
//php?递归实现遍历?用dir?返回对象
<?
???function?loop($dir){
?$mydir?=dir($dir);????//以对象的形式访问
????while($file?=?$mydir?->read()){
???????????????????...
分类:
Web程序 时间:
2015-10-22 19:43:33
阅读次数:
138
二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三...
分类:
其他好文 时间:
2015-10-21 12:36:33
阅读次数:
148
原文:http://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153720.html 二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为...
分类:
其他好文 时间:
2015-10-13 13:51:53
阅读次数:
206
1 #include 2 #include 3 #include 4 using namespace std; 5 struct BinTree 6 { 7 int data; 8 BinTree *lc; 9 BinTree *rc; 10 }BT...
分类:
编程语言 时间:
2015-10-08 00:27:16
阅读次数:
293
import java.io.*;import java.util.*;public class Main{ public static void main(String args[]) { Scanner cin = new Scanner(System.in); ...
分类:
编程语言 时间:
2015-09-15 12:52:31
阅读次数:
243
二叉树的前中后序遍历,可以用递归秒解,看起来不值一提。但如果不允许采用递归,要怎么实现呢?还是先来看看递归算法的实现吧:def visit( root): if root is not null: #1 visit(root.left) ...
分类:
其他好文 时间:
2015-09-07 21:12:22
阅读次数:
174
栈模拟非递归算法递归算法的本质是利用函数的调用栈进行,实际上我们可以自行使用栈来进行模拟,这样的算法空间复杂度为O(h),h为二叉树的高度。前序遍历首先把根节点入栈,然后在每次循环中执行以下操作:此时栈顶元素即为当前的根节点,弹出并打印当前的根节点。把当前根节点的右儿子和左儿子分别入栈(注意是右儿子...
分类:
编程语言 时间:
2015-08-30 11:07:19
阅读次数:
220
递归算法
void preorder1(Node *root) //递归前序遍历
{
if (root == NULL) return;
printf("%d ", root->val);
preorder1(root->left);
preorder1(root->right);
}
void inorder1(Node *root) //递归中序遍历
{
if (root == ...
分类:
其他好文 时间:
2015-08-29 17:04:03
阅读次数:
151