您好,欢迎光临本网站![请登录][注册会员]  

搜索资源列表

  1. 编译原理——语法分析器(递归下降分析法 )

  2. 递归下降分析法 一、实验目的: 根据某一文法编制调试递归下降分析程序,以便对任意输入的符号串进行分析。本次实验的目的主要是加深对递归下降分析法的理解。 二、实验说明 1、递归下降分析法的功能 词法分析器的功能是利用函数之间的递归调用模拟语法树自上而下的构造过程。 2、递归下降分析法的前提 改造文法:消除二义性、消除左递归、提取左因子,判断是否为LL(1)文法, 3、递归下降分析法实验设计思想及算法 为G的每个非终结符号U构造一个递归过程,不妨命名为U。 U的产生式的右边指出这个过程的代码结构:
  3. 所属分类:其它

    • 发布日期:2010-05-05
    • 文件大小:39936
    • 提供者:matao_ct
  1. 数据结构基于C++语言程序开发的树的非递归先序遍历

  2. 数据结构基于C++语言程序开发的树的非递归先序遍历 if (p->rchild != NULL)/* 右孩子入栈 */ { top++; stack[top] = p->rchild; } if (p->lchild != NULL)/* 左孩子入栈 */ { top++; stack[top] = p->lchild; } } printf("\n"); } } void PrintTree(BTNode* T,int nLayer) //按竖向树状打印的二叉树 {
  3. 所属分类:C++

    • 发布日期:2011-06-14
    • 文件大小:2048
    • 提供者:superneng
  1. Chomsky文法类型判断及消除文法的左递归.txt

  2. byylChomsky文法类型判断 #include #include using namespace std; #define MAXS 50 int NONE=1; int RELEFT=1; string strings,noend,end; int N; struct STR { string left; string right; }; //输出四元组 void print(STR *p) { int i; cout<<endl<<"G=({"<<
  3. 所属分类:C/C++

    • 发布日期:2012-06-27
    • 文件大小:7168
    • 提供者:justrockit
  1. 设一棵二叉树以二叉链表表示,试编写有关二叉树的递归算法

  2. 设一棵二叉树以二叉链表表示,试编写有关二叉树的递归算法 (1)统计二叉树中度为1的节点个数 (2)统计二叉树中度为2的节点个数 (3)统计二叉树中度为0的节点(叶节点)个数 (4)统计二叉树的高度 (5)统计二叉树的宽度,即在二叉树的各层上具有结点数最多的那一层上结点总数 (6)计算二叉树中各节点中的最大元素值 (7)交换每个结点的左孩子结点和右孩子结点 (8)从二叉树中删去所有叶子结点
  3. 所属分类:C/C++

    • 发布日期:2012-11-29
    • 文件大小:4096
    • 提供者:www888m
  1. 编译原理中文课件 编译原理教程

  2. 编译原理中文课件 里面包括了编译原理的所有知识点,从第一章到第十章,有详细的知识点解析和习题,习题配有答案。无论是自学还是当作参考资料都可以,是非常好的学习教程。
  3. 所属分类:专业指导

    • 发布日期:2009-02-17
    • 文件大小:820224
    • 提供者:lizhongxu001
  1. 二叉树的非递归遍历方式(Java).md

  2. 详细介绍了JAVA中二叉树的非递归遍历方式,三种方式都是采用栈来辅助完成,其中前序遍历采用的是先入右子节点再入左子节点的方法,这样弹出栈时左在前,右在后。中序遍历的话则是要先一直到达最左的子节点,然后才弹出元素,将元素的右子节点压入栈。后序遍历的方法则是利用两个栈,一个栈如同层序遍历一样入栈,一个栈则是前一个站每弹出一个就压入一个。
  3. 所属分类:Java

    • 发布日期:2020-04-24
    • 文件大小:3072
    • 提供者:liyangxueit
  1. 递归算法详解.pdf

  2. 递归是编程中经常用到的算法思想,这篇讲义详细的解释了递归的相关用法,参考意义比较强。求出an1时,需要返回两个整数:分子q与分母P,而通常的函数只能返回一个整数。 这个问题一般有两类解决办法,一种是让求值凶数返回一个结构休变量,这样就可以返 回两个变量了(其实还可以不只两个呢);另一和是在求值函数的参数表中加入两个指针变 量或引用变量,通过参数给带回数值。但由于后·种做法会使程序结构不清晰一一返回值是 由参数表得到的,因此我们使用前一种方法。 另外,在通过a,=得出a=-—后,a就已经是最简分数
  3. 所属分类:讲义

    • 发布日期:2019-10-05
    • 文件大小:834560
    • 提供者:u012454600
  1. C#递归算法寻找数组中第K大的数

  2. 首先将向量V从中间位置分开,分成左和右,分好后,中间值的索引如果恰恰等于K,就找到了,否则如果中间元素索引大于K,则在左子表中继续查找,忽略右子表,如果中间值索引小于K,则在右子表中继续查找,如此循环往复。
  3. 所属分类:其它

    • 发布日期:2020-09-02
    • 文件大小:58368
    • 提供者:weixin_38553681
  1. 二叉树先序遍历的非递归算法具体实现

  2. 在前面一文,说过二叉树的递归遍历算法(二叉树先根(先序)遍历的改进),此文主要讲二叉树的非递归算法,采用栈结构 总结先根遍历得到的非递归算法思想如下: 1)入栈,主要是先头结点入栈,然后visit此结点 2)while,循环遍历当前结点,直至左孩子没有结点 3)if结点的右孩子为真,转入1)继续遍历,否则退出当前结点转入父母结点遍历转入1) 先看符合此思想的算法: 代码如下:int PreOrderTraverseNonRecursiveEx(const BiTree &T, int (*Vi
  3. 所属分类:其它

    • 发布日期:2020-12-10
    • 文件大小:90112
    • 提供者:weixin_38500047
  1. Python 实现递归法解决迷宫问题的示例代码

  2. 迷宫问题 问题描述: 迷宫可用方阵 [m, n] 表示,0 表示可通过,1 表示不能通过。若要求左上角 (0, 0) 进入,设计算法寻求一条能从右下角 (m-1, n-1) 出去的路径。 示例图: 此示例图基本参数为: m:对应 x 轴n:对应 y 轴 绿色线代表期望输出的路径 算法思路 标记当前所在位置 如果此时所在位置为终点,说明可以到达终点,退出递归; 否则,则存在 4 种可能的移动方向即上、下、左、右,遍历这 4 个方向,如果这 4 个方向存在相邻值为 0 的点,
  3. 所属分类:其它

    • 发布日期:2020-12-23
    • 文件大小:199680
    • 提供者:weixin_38551749
  1. 四种根据给定遍历序列构造二叉树总结(JAVA递归和非递归版)

  2. 构造二叉树根据前序与中序遍历序列构造二叉树根据先序遍历构造二叉搜索树根据中序与后序遍历序列构造二叉树根据前序与后序遍历序列构造二叉树 二叉树的遍历顺序及方法可参考之前写过的二叉树的遍历(JAVA递归和非递归版)这里解决的是如何根据给定的遍历序列构造二叉树的问题。 根据前序与中序遍历序列构造二叉树 该问题中,会给出二叉树的前序与中序的遍历序列(没有重复元素)preorder和inorder,还原二叉树。 递归版(哈希表): 前序序列第一个值一定是根节点的值; 根据得到的根节点,在中序序列中可以得到
  3. 所属分类:其它

    • 发布日期:2020-12-21
    • 文件大小:51200
    • 提供者:weixin_38608866
  1. 教你彻底学会递归——《进阶篇》

  2. 教你彻底学会递归——《进阶篇》 通过上一篇,我们已经基本了解了递归的思想,以及递归求解问题的方法。因此这一篇文章,我将通过一些经典的通过递归算法实现的实例来更深入的了解递归算法。 汉诺塔问题 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。 变为数学问题
  3. 所属分类:其它

    • 发布日期:2020-12-21
    • 文件大小:87040
    • 提供者:weixin_38549721
  1. PHP基于非递归算法实现先序、中序及后序遍历二叉树操作示例

  2. 本文实例讲述了PHP基于非递归算法实现先序、中序及后序遍历二叉树操作。分享给大家供大家参考,具体如下: 概述: 二叉树遍历原理如下: 针对上图所示二叉树遍历: 1. 前序遍历:先遍历根结点,然后遍历左子树,最后遍历右子树。 ABDHECFG 2.中序遍历:先遍历左子树,然后遍历根结点,最后遍历右子树。 HDBEAFCG 3.后序遍历:先遍历左子树,然后遍历右子树,最后遍历根节点。 HDEBFGCA 实现方法: 先序遍历:利用栈先进后出的特性,先访问根节点,再把右子树压入,再压入左子树。这样取出
  3. 所属分类:其它

    • 发布日期:2020-12-20
    • 文件大小:46080
    • 提供者:weixin_38539053
  1. c#汉诺塔的递归算法与解析

  2. 从左到右 A  B  C 柱 大盘子在下, 小盘子在上, 借助B柱将所有盘子从A柱移动到C柱, 期间只有一个原则: 大盘子只能在小盘子的下面. 如果有3个盘子, 大中小号, 越小的越在上面, 从上面给盘子按顺序编号 1(小),2(中),3(大), 后面的原理解析引用这里的编号. 小时候玩过这个游戏, 基本上玩到第7个,第8个就很没有耐心玩了,并且操作的动作都几乎相同觉得无聊.  后来学习编程, 认识到递归, 用递归解决汉诺塔的算法也是我除了简单的排序算法后学习到的第一种算法. 至于递归,简单来
  3. 所属分类:其它

    • 发布日期:2021-01-01
    • 文件大小:102400
    • 提供者:weixin_38530115
  1. 深入理解二叉树的非递归遍历

  2. 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来说要难一点。一.前序遍历前序遍历按照“根结点-左孩子-右孩子”的顺序进行访问。1.递归实现 代码如下:void preOrder1(BinTr
  3. 所属分类:其它

    • 发布日期:2021-01-01
    • 文件大小:69632
    • 提供者:weixin_38670391
  1. 二叉树遍历 非递归 C++实现代码

  2. 二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来说要难一点。 一.前序遍历 前序遍历按照“根结点-左孩子-右孩子”的顺序进行访问。 1.递归实现 代码如下:void pr
  3. 所属分类:其它

    • 发布日期:2021-01-01
    • 文件大小:68608
    • 提供者:weixin_38639471
  1. python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)

  2. 插图工具使用Python内置的turtle模块,为什么叫这个turtle乌龟这个名字呢,可以这样理解,创建一个乌龟,乌龟能前进、后退、左转、右转,乌龟的尾巴朝下,它移动时就会画一条线。并且为了增加乌龟画图的艺术价值,可以改变尾巴宽度和尾巴浸入墨水的颜色。 1.递归绘制螺旋 先用我们让乌龟以line_len长度前进,然后向右旋转90°,然后缩短line_len长度递归调用draw_spiral函数 import turtle my_turtle = turtle.Turtle() my_win
  3. 所属分类:其它

    • 发布日期:2020-12-31
    • 文件大小:60416
    • 提供者:weixin_38605604
  1. C++ 数据结构二叉树(前序/中序/后序递归、非递归遍历)

  2. C++ 数据结构二叉树(前序/中序/后序递归、非递归遍历) 二叉树的性质: 二叉树是一棵特殊的树,二叉树每个节点最多有两个孩子结点,分别称为左孩子和右孩子。 例: 实例代码: #include #include #include using namespace std; template struct BinaryTreeNode { int _data; BinaryTreeNode* _left; //左孩子 BinaryTreeNode* _right; //右孩子
  3. 所属分类:其它

    • 发布日期:2020-12-31
    • 文件大小:97280
    • 提供者:weixin_38629976
  1. python3实现二叉树的遍历与递归算法解析(小结)

  2. 1、二叉树的三种遍历方式 二叉树有三种遍历方式:先序遍历,中序遍历,后续遍历 即:先中后指的是访问根节点的顺序 eg:先序 根左右 中序 左根右 后序 左右根 遍历总体思路:将树分成最小的子树,然后按照顺序输出 1.1 先序遍历     a 先访问根节点     b 访问左节点     c 访问右节点     a(b ( d ( h ) )( e ( i ) ))( c ( f )( g )) — abdheicfg 1.2 中序遍历     a 先访问左节点     b 访问根节点    
  3. 所属分类:其它

    • 发布日期:2020-12-31
    • 文件大小:131072
    • 提供者:weixin_38608875
  1. C语言递归实现线索二叉树

  2. 本文实例为大家分享了C语言递归实现线索二叉树的具体代码,供大家参考,具体内容如下 描述:将二叉树中结点的空左孩子指针域指向前驱结点,将空的右孩子指针域指向后继结点。 code: #pragma warning(disable:4996) #include #include typedef struct TreeNode { char data; struct TreeNode *lchild, *rchild; int ltag, rtag; }Tree,*BTree; BTree
  3. 所属分类:其它

    • 发布日期:2020-12-31
    • 文件大小:37888
    • 提供者:weixin_38746387
« 12 3 4 5 6 7 8 9 10 ... 14 »