码迷,mamicode.com
首页 >  
搜索关键字:非递归    ( 1549个结果
图的深度优先搜索和广度优先搜索
此图是以图的邻接表法作为储存方式,对图进行深度优先搜索和广度优先搜索(均是非递归) # include # include # define True 1 # define False 0 # define Error -1 # define OK 1 # define MAX_VERTEX_NUM 20 int visited[MAX_VERTEX_NUM]; typede...
分类:其他好文   时间:2014-12-17 16:33:23    阅读次数:245
二叉树(13)----求二叉树中任意两个节点之间的距离,递归和非递归
1、二叉树定义 typedef struct BTreeNodeElement_t_ { void *data; } BTreeNodeElement_t; typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; struc...
分类:其他好文   时间:2014-12-17 12:49:29    阅读次数:121
二叉树(12)----查找两个节点最低祖先节点(或最近公共父节点等),递归和非递归
1、二叉树定义: typedef struct BTreeNodeElement_t_ { void *data; } BTreeNodeElement_t; typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; stru...
分类:其他好文   时间:2014-12-17 00:20:47    阅读次数:176
10.1 优化函数 在前面的章节中,我们已经知道,递归是 F# 中处理函数的主要控制流机制。我们第一次是使用它写一些进行计算的简单函数,例如,计算指定范围内的数字的和或阶乘。后来,我们发现它在处理递
10.1 优化函数   在前面的章节中,我们已经知道,递归是 F# 中处理函数的主要控制流机制。我们第一次是使用它写一些进行计算的简单函数,例如,计算指定范围内的数字的和或阶乘。后来,我们发现它在处理递归数据结构,最重要的列表是时,是无价的。 我们知道,递归也有一些局限性,堆栈溢出的可能性是最明显的一个;我们将会看到,某些递归计算非常低效。在命令式语言中,通常使用非递归函数,以避免出现问题;...
分类:其他好文   时间:2014-12-16 17:10:26    阅读次数:179
二叉树(10)----比较两个二叉树是否相同(结构和数据),递归和非递归
1、二叉树定义 typedef struct BTreeNodeElement_t_ { void *data; } BTreeNodeElement_t; typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; struc...
分类:其他好文   时间:2014-12-16 13:37:04    阅读次数:196
二叉树(11)----求二叉树的镜像,递归和非递归方式
1、二叉树定义: typedef struct BTreeNodeElement_t_ { void *data; } BTreeNodeElement_t; typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; stru...
分类:其他好文   时间:2014-12-16 13:28:22    阅读次数:171
Binary Tree Inorder Traversal--leetcode
原题链接:https://oj.leetcode.com/problems/binary-tree-inorder-traversal/ 题目大意:中序遍历二叉树 解题思路:中序遍历二叉树,中序遍历二叉树的左子树,访问根结点,中序遍历二叉树的右子树。非递归实现时,用一个栈模拟遍历过程即可。因为需要先遍历左子树,所以每个结点先入栈,出栈时访问。 vector inorderTraversal(...
分类:其他好文   时间:2014-12-16 11:53:51    阅读次数:172
Binary Tree Postorder Traversal --leetcode
原题链接:https://oj.leetcode.com/problems/binary-tree-postorder-traversal/ 题目大意:后序遍历二叉树 解题思路:后序遍历二叉树的步骤:后序遍历二叉树的左子树,后序遍历二叉树的右子树,访问根结点。非递归实现时,用一个栈模拟遍历过程。由于访问完左子树后访问右子树,栈中元素要起到转向访问其右子树的作用,但是不能像先序和中序遍历那样出栈...
分类:其他好文   时间:2014-12-16 11:53:41    阅读次数:183
算法 二叉树的各种遍历
二叉树的遍历方式基本就是前序遍历,中序遍历,后序遍历和层次遍历。从代码的角度来说,前三种最简单的就是用递归了,代码会非常简洁。但是递归有一个缺陷,就是当二叉树的节点非常多的时候,层次深的递归会不停的进行程序的压栈和出栈操作,效率比较低。这里就不写递归算法了,只写四种遍历的非递归算法。 先定义二叉树的节点如下: /**  * Definition for binary tree  * pub...
分类:编程语言   时间:2014-12-15 13:47:08    阅读次数:305
二叉树(9)----打印二叉树中第K层的第M个节点,非递归算法
1、二叉树定义: typedef struct BTreeNodeElement_t_ { void *data; } BTreeNodeElement_t; typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; struct B...
分类:编程语言   时间:2014-12-15 13:45:29    阅读次数:223
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!