先序遍历:
void preOrder(Node *p) //非递归
{
if(!p) return;
stack s;
Node *t;
s.push(p);
while(!s.empty())
{
t=s.top();
printf("%d\n",t->data);
s.pop();
if(t->ri...
分类:
其他好文 时间:
2014-09-15 19:36:09
阅读次数:
152
//中序遍历int inorder_tree_walk(BinTreeNode * root){ if(root == NULL){ return -1; } stack s; BinTreeNode * p = root; while(!s.empty(...
分类:
其他好文 时间:
2014-09-05 14:15:11
阅读次数:
142
前序遍历二叉树int preorder_tree_walk(BinTreeNode * root){ if(root == NULL){ return -1; } stack s; BinTreeNode * p = root; while(!s.empt...
分类:
其他好文 时间:
2014-09-05 14:10:51
阅读次数:
170
1 // 树结点定义2 typedef struct TNode3 {4 int value;5 TNode *left;6 TNode *right;7 }*PTNode;1. 前序遍历的非递归实现(借鉴递归思想实现)思想:访问到一结点时,先将其入栈,假设入栈节点为P。访问...
分类:
其他好文 时间:
2014-08-25 19:06:54
阅读次数:
212
#include #include using namespace std;#define MAX 100 //字符串最大长度typedef struct Node //二叉树结点{ char data; Node *lchild,*rchild;} *B...
分类:
其他好文 时间:
2014-08-16 22:23:51
阅读次数:
266
1.非递归先序遍历要点:总是先访问根root,而将root的右结点压入栈中,当root没有左结点时,取出栈顶元素给root。void preorder(node* root){ if(root==NULL) return; stack s; while(true){ ...
分类:
其他好文 时间:
2014-08-16 12:19:30
阅读次数:
171
最近复习数据结构中的二叉树的相关问题,在这里整理一下
这里包括:
1、二叉树的先序创建
2、二叉树的递归先序遍历
3、二叉树的非递归先序遍历
4、二叉树的递归中序遍历
5、二叉树的非递归中序遍历
6、二叉树的递归后序遍历
7、二叉树的非递归后序遍历
8、二叉树的层次遍历
这里感谢博客http://blog.csdn.net/skylinesky/article/details/...
分类:
编程语言 时间:
2014-08-10 18:46:10
阅读次数:
456
1 public class Tree { 2 private T data; 3 private Tree left; 4 private Tree right; 5 6 private Tree(T data) { 7 this....
分类:
其他好文 时间:
2014-07-26 00:44:56
阅读次数:
230
在网上看到的算法,跟之前自己写的一个非遍历算法类似,先记录下来。非递归:import java.io.File;import java.util.LinkedList;public class FileSystem { public static void main(String[] args...
分类:
编程语言 时间:
2014-07-24 17:31:15
阅读次数:
421