码迷,mamicode.com
首页 >  
搜索关键字:非递归    ( 1549个结果
C# 二叉树遍历
C#完成的二叉树递归和非递归的遍历。BTreeNode是节点类,Visited是ENUM类型的表示当前节点是否被访问以及被访问的是左孩子还是右孩子(非递归后序遍历用到) BTree是二叉树类,preVisit,InVisit,BackVisit分别是递归的前中后序遍历,preVisit1,InVisit1,BackVisit1分别是 非递归的前中后序遍历...
分类:其他好文   时间:2014-09-12 11:57:33    阅读次数:190
图的表示与遍历
图的表示:连接矩阵,连接链表。图的遍历:dfs(递归、非递归),bfs.连接矩阵下各种遍历:import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;impo...
分类:其他好文   时间:2014-09-11 17:03:02    阅读次数:289
C++实现二叉树的前序、中序、后序非递归扁历
这三种常见的扁历方式,是考研面试等场合经常遇到的,在此做一个总结。 1、前序遍历比较简单:用指针p指向根节点,若p!=NULL且栈非空,则直接访问节点,并将节点的右孩子入栈,同时指针p向左孩子移动。 2、中序扁历:用指针p指向根节点,若p!=NULL且栈非空,则当前节点入栈,同时指针p向左孩子移动,出栈是指针指向当前节点的右孩子。 3、后序扁历相对复杂:需要设置一个辅助栈,标识该节点是否是第...
分类:编程语言   时间:2014-09-09 18:26:19    阅读次数:211
反转链表(递归与非递归)
1 #include 2 using namespace std; 3 4 typedef struct LNode{ 5 int data; 6 LNode* next; 7 }LNode; 8 //非递归方法, 9 LNode* reverse(LNode* head)10 ...
分类:其他好文   时间:2014-09-09 17:53:29    阅读次数:216
怎样解决栈溢出
1,什么是栈溢出?由于栈一般默觉得1-2m,一旦出现死循环或者是大量的递归调用,在不断的压栈过程中,造成栈容量超过1m而导致溢出。2,解决方式:方法一:用栈把递归转换成非递归通常,一个函数在调用还有一个函数之前,要作例如以下的事情:a)将实在參数,返回地址等信息传递给被调用函数保存; b)为被调用函...
分类:其他好文   时间:2014-09-07 22:21:15    阅读次数:208
Fibonacii非递归
记得在我们最开始学习C语言的时候,每当讲到递归,无论是课本上,还是老师,都会给出两个经典例子的递归实现,其中一个就是阶乘,另外一个就是Fibonacci(中文多译成斐波那契)数列了。用递归方法计算阶乘的代码如下://递归计算阶乘long Factorial(int n){ if (n 1) { r....
分类:其他好文   时间:2014-09-05 23:46:32    阅读次数:252
二叉树的先序、中序、后序、层次遍历的递归和非递归解法
二叉树的先序、中序、后序、层次遍历的递归和非递归解法 package tree; import java.util.LinkedList; import java.util.Queue; import java.util.Stack; public class TreeTraverse { /** * 先序递归 * @param root */ public stat...
分类:其他好文   时间:2014-09-05 16:12:21    阅读次数:249
非递归遍历二叉树之中序遍历
//中序遍历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. 堆排序 详见之前博文非递归方法的堆排序实现。 3. 简单排序(冒泡排序、选择排序和插入排序) 代码如下: #include #include #include #define N 20static void show(int *arr, int len)...
分类:其他好文   时间:2014-09-05 14:08:51    阅读次数:198
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!