二叉树的前序建立递归算法以及前中后序遍历的递归算法已经是人尽皆知了,递归算法也确实为代码的编写带来了很大的方便。然而,有时我们也确实需要它们的非递归算法。将递归算法转化为非递归算法可以帮助我们深入了解函数的调用与栈的原理。这里总结一下二叉树的这些重要的非递归算法。...
分类:
编程语言 时间:
2014-12-07 12:39:23
阅读次数:
210
递归遍历目录的缺点:遇到多层级目录时,层级越多,堆栈的负荷越大。
[java] view
plaincopyprint?
import java.io.File;
import java.util.LinkedList;
/*
* 采用非递归方式遍历目录及其子目录的文件
*/
public class Proce...
分类:
其他好文 时间:
2014-12-04 14:00:23
阅读次数:
147
1.一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现。public class TuZi { public int TZ(int x) { if (x == 1 || x == 2) { return 1; } else { return...
分类:
其他好文 时间:
2014-11-29 14:26:38
阅读次数:
117
最近在写数据结构中二叉树的遍历,这里总结一下:
先序递归遍历:
void PreTravel(BiTree T)
{//前序递归遍历
if(T)
{
printf("%c",T->data);
PreTravel(T->lchild);
PreTravel(T->rchild);
}
}
中序递归遍历:
void MidTravel(BiTree ...
分类:
其他好文 时间:
2014-11-28 10:16:15
阅读次数:
191
struct BinaryTreeNode{ int m_nValue; BinaryTreeNode *m_pLeft; BinaryTreeNode *m_pRight;};//递归实现二叉树的遍历。递归算法比较简洁易懂这一就不做解释void Preorder(BinaryTreeNode *p...
分类:
其他好文 时间:
2014-11-25 12:15:17
阅读次数:
151
1、P103
一个目录扫描程序。
#include
#include
#include
int isAdir(char* path); //判断路径是否是目录类型
void printdirs(char* path,int depth) //递归遍历打印文件与目录名
{
DIR* dir=opendir(path);
struct dirent* dirents;
ch...
分类:
系统相关 时间:
2014-11-24 22:37:00
阅读次数:
287
题目:输入某个二叉树的前序遍历和中序遍历的结果,重建出该二叉树。假设输入的前序遍历和中序遍历结果中都不包含重复数字。二叉树的结点定义如下:structBinaryTreeNode
{
intm_nValue;
BinaryTreeNode*m_pLeft;
BinaryTreeNode*m_pRight;
};分析:在前序遍历中,第一个数是根..
分类:
其他好文 时间:
2014-11-24 13:51:40
阅读次数:
161
1 /// 2 /// 3 /// 4 /// 5 /// 6 public virtual void SetTextBoxOnEnterStyle(object sender, EventArgs e) 7...
windows API递归遍历文件夹下所有文件...
一、层次遍历:借助队列实现 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