一:递归版本class LinkList { public class LinkNode { public int data; public LinkNode next; } private L...
分类:
其他好文 时间:
2014-11-26 16:12:13
阅读次数:
149
二叉查找树(Binary Search Tree)的遍历的方法有很多,通常使用的是递归的遍历,其便于理解,但是使用递归的话会造成程序运行的空间浪费,效率并不高。为此可以使用一个栈来模拟递归的过程,实现迭代版的二叉查找树的遍历。但是会使用到额外的存储空间,虽说在运行效率上比递归版的有所提高,但是额外的存储空间还是一定的浪费。但是如何减少额外的存储空间呢?我们知道二叉查找树是可以转换为一个双向环形链表...
分类:
其他好文 时间:
2014-11-25 14:39:21
阅读次数:
172
/* Author: wsnpyo Update Date: 2014-11-16 Algorithm: 快速幂/Fermat, Solovay_Stassen, Miller-Rabin素性检验/Exgcd非递归版/中国剩余定理*/import randomdef QuickPo...
分类:
编程语言 时间:
2014-11-16 15:59:16
阅读次数:
278
权值分块,虽然渐进复杂度不忍直视,但其极小的常数使得实际运行起来比平衡树快,大多数情况和递归版权值线段树差不多,有时甚至更快。但是被zkw线段树完虐。 1 #include 2 #include 3 #include 4 using namespace std; 5 #define N 100000...
分类:
其他好文 时间:
2014-11-14 17:41:35
阅读次数:
241
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first
two lists.
递归版
/**
* Definition for singly-linked list.
...
分类:
其他好文 时间:
2014-11-10 13:55:03
阅读次数:
195
二叉树的各种遍历方法有 前序遍历 中序遍历 后序遍历 层序遍历。其中前三种遍历有递归程序可以实现,但是我们也有必要掌握其非递归版本的算法实现。正好在leetcode中遇到了遍历二叉树的问题,今天在这里一并总结了。首先,引用leetcode中关于二叉树节点的定义。1 // Definition ...
分类:
编程语言 时间:
2014-11-09 12:37:56
阅读次数:
329
伪代码:RECURSIVE-INSERT-SORT (A, n) if n>1 RECURSIVE-INSERT-SORT (A ,n-1) InsertLastNumber (A,n)InsertLastNumber (A,n) temp = A[n] i=n-1 whi...
分类:
编程语言 时间:
2014-11-06 00:26:59
阅读次数:
270
直接上递归版gcd模板,直接while的话效率更高~ 1 #include 2 #include 3 using namespace std; 4 5 int gcd(int a, int b) { 6 return a % b ? gcd(b, a % b) : b; 7 } 8 ...
分类:
编程语言 时间:
2014-10-30 20:53:47
阅读次数:
264
据说这个笔试面试的时候非常easy考到,所以写到这里。图示代码实现/** * 源代码名称:TreeIteratorNoRecursion.java * 日期:2014-08-23 * 程序功能:二叉树深度遍历(非递归) * 版权:CopyRight@A2BGeek * 作者:A2BGeek ...
分类:
编程语言 时间:
2014-10-22 12:43:31
阅读次数:
191
今天做的第二道矩阵快速幂题,因为是初次接触,各种奇葩错误整整调试了一下午。废话不说,入正题。该题应该属于矩阵快速幂的裸题了吧,知道快速幂原理(二进制迭代法,非递归版)后,剩下的只是处理矩阵乘法的功夫了,我直接用个结构体来表示矩阵,确实能省去不少功夫(这里一定要注意用单位矩阵来初次相乘,但不要把它.....
分类:
其他好文 时间:
2014-10-18 16:54:38
阅读次数:
206