1、单链表反转(递归非递归) ListNode *ReverseList(ListNode *pHead)
{ if(pHead==NULL||pHead->Next==NULL) return pHead; ListNode *previousNode=NULL; ListNode *nextNo...
分类:
其他好文 时间:
2014-10-26 18:17:14
阅读次数:
214
一、递归函数,通俗的说就是函数本身自己调用自己...如:n!=n(n-1)!你定义函数f(n)=nf(n-1)而f(n-1)又是这个定义的函数。。这就是递归二、为什么要用递归:递归的目的是简化程序设计,使程序易读三、递归的弊端:尽管非递归函数效率高,但较难编程,可读性较差。递归函数的缺点是添加了系统...
分类:
编程语言 时间:
2014-10-24 20:26:51
阅读次数:
175
多层数据结构估计所有的web开发者估计都不会陌生,各种软件的分类都是基于多层结构来设计的。下面是一个典型的多层数据结构示意图:相关创建数据语句:CREATETABLEcategory(category_idINTAUTO_INCREMENTPRIMARYKEY,nameVARCHAR(20)NOTN...
分类:
编程语言 时间:
2014-10-24 01:36:49
阅读次数:
335
参考:http://www.geeksforgeeks.org/inorder-tree-traversal-without-recursion-and-without-stack/
1. Initialize current as root
2. While current is not NULL
If current does not have left child
a)...
分类:
其他好文 时间:
2014-10-22 14:38:08
阅读次数:
187
据说这个笔试面试的时候非常easy考到,所以写到这里。图示代码实现/** * 源代码名称:TreeIteratorNoRecursion.java * 日期:2014-08-23 * 程序功能:二叉树深度遍历(非递归) * 版权:CopyRight@A2BGeek * 作者:A2BGeek ...
分类:
编程语言 时间:
2014-10-22 12:43:31
阅读次数:
191
给定一个二叉树,以集合方式返回其中序/先序方式遍历的所有元素。有两种方法,一种是经典的中序/先序方式的经典递归方式,另一种可以结合栈来实现非递归Given a binary tree, return theinordertraversal of its nodes' values.For examp...
分类:
其他好文 时间:
2014-10-21 22:49:08
阅读次数:
269
题目:设计一个执行中序遍历的非递归算法解答:分析:1、使用栈模拟递归调用的过程,即可以实现中序遍历2、在结点中增加指针域,使该指针域指向父节点,通过迭代即可实现中序遍历非递归算法:栈模拟算法版本一:// InOrder Traveraslvoid InOrder( SearchTree T ) { ...
分类:
编程语言 时间:
2014-10-18 17:00:00
阅读次数:
285
今天做的第二道矩阵快速幂题,因为是初次接触,各种奇葩错误整整调试了一下午。废话不说,入正题。该题应该属于矩阵快速幂的裸题了吧,知道快速幂原理(二进制迭代法,非递归版)后,剩下的只是处理矩阵乘法的功夫了,我直接用个结构体来表示矩阵,确实能省去不少功夫(这里一定要注意用单位矩阵来初次相乘,但不要把它.....
分类:
其他好文 时间:
2014-10-18 16:54:38
阅读次数:
206
题目:给出O(N)运行时间的非递归算法,实现对一个含N个元素的链表的逆转,要求空间复杂度为O(1)代码:/* Assuming List with header and L is not empty */List ReverseList( List L ){ Position CurrentP...
分类:
编程语言 时间:
2014-10-18 15:14:15
阅读次数:
195
一:递归版本 1 class LinkList 2 { 3 public class LinkNode 4 { 5 public int data; 6 7 public LinkNode next; 8 ...
分类:
其他好文 时间:
2014-10-17 15:27:07
阅读次数:
218