论文网
English Papers
万事OK网
发表论文
 
 首页 > IT文章 > 程序设计 >
前序遍历二叉树

[科技论文网] http://www.scipapers.com    2007-12-01  

    前序遍历二叉树

    二叉树是很有用的一种数据结构,遍历则是其基本操作,这里列出实是保证完整性。几个备用的结构定义和函数:

    //二叉树节点定义
    class TreeNodeElement
    {
           public:
                  TreeNodeElement();
     
                  TreeNodeElement(int value);
                 
                  TreeNodeElement(int value,TreeNodeElement* l,TreeNodeElement* r);
     
                  ~TreeNodeElement();
     
           private:
           public:
                  int _value;
     
                  TreeNodeElement* _l;
     
                  TreeNodeElement* _r;
    };
     
    typedef TreeNodeElement* TreeNode;
    //递归实现(visit
    void Visit(TreeNode node)
    {
           cout<<node->_value<<" ";
    }
           二叉树前序遍历的递归和非递归实现:
    //递归遍历
    void PreRetriveATree(TreeNode root,void (* visit)(TreeNode))
    {
           if (root)
           {
                  (*visit)(root);
     
                  PreRetriveATree(root->_l,visit);
     
                  PreRetriveATree(root->_r,visit);
           }
    }
    //非递归遍历,添加#include <stack>
    void PreRetriveATreeWithoutRecurve(TreeNode root,void (* visit)(TreeNode))
    {
           stack<TreeNode> tree;
     
           TreeNode tmp = NULL;
     
           //根节点入栈
           tree.push(root);
     
           while (!tree.empty())
           {
                  tmp = tree.top();
                  tree.pop();
     
                  (*visit)(tmp);
                 
                  if (tmp->_r != NULL)
                  {
                         tree.push(tmp->_r);
                  }
     
                  if (tmp->_l != NULL)
                  {
                         tree.push(tmp->_l);
                  }
           }
    }
        来源:

声明:本文由网友推荐或作者提交,版权归原作者所有,刊登此文仅为传播知识,展示研究成果,提高文章引用率。未经原作者授权,禁止用于任何形式的商业行为。科技论文网倡导尊重知识、尊重劳动、保护原创、知识共享。由于部分论文文章来于网络,文章作者不祥,请相关的原创作者与我们联系,以便加上您的署名。

  
前序遍历二叉树
下面没有链接了     哈夫曼树的构造方法与原理
最新论文
·[程序设计]前序遍历二叉树
·[程序设计]哈夫曼树的构造方法与原理
·[程序设计]排列组合算法
·[程序设计]走迷宫程序
·[程序设计]红黑树分析和实现
·[程序设计]最小堆/哈希表/二叉树/平衡二叉树/红黑树
·[程序设计]模式匹配的KMP算法
·[程序设计]汉诺塔源码
·[程序设计]寻找链表中间节点算法
·[程序设计]算术表达式的计算
 
 

搜索论文

Google
论文分类

论文网 论文发表网 论文 免费论文网 找论文网 毕业论文 中国论文网 英语论文 百度论文 聘教网 易搜
 免费发布论文    中国论文网 2008版权所有  业务联系:pinjiao@126.com