``` void PreOrderWithoutRecursion1(BTNode root) { if (root == NULL) return; BTNode p = root; stack s; while(p||!s.empty()) { //边遍历边打印,并存入栈中,以后需要借助这些根节 ...
分类:
其他好文 时间:
2019-10-24 15:23:15
阅读次数:
78
synchronized / Lock 1.JDK 1.5之前,Java通过synchronized关键字来实现锁功能 synchronized是JVM实现的内置锁,锁的获取和释放都是由JVM隐式实现的 2.JDK 1.5,并发包中新增了Lock接口来实现锁功能 提供了与synchronized类似 ...
分类:
编程语言 时间:
2019-09-21 16:58:38
阅读次数:
67
C语言进阶递归调用 我们先来了解一下什么是递归?递归(recursion):即程序调用自身的一个编程技巧。首先,递归需要满足以下2个条件: 1)有反复执行的过程(调用自身) 2)有跳出反复执行过程的条件(递归出口)那递归是不是就是万能的呢?其实不然,递归的有优点当然就有缺点!优点:递归的优点是为某些 ...
分类:
编程语言 时间:
2019-09-20 19:25:38
阅读次数:
98
DFS题目,先访问child再访问next。遍历的时候顺便创建doubly linked list即可。 Helper Function 可以利用全局变量,加上dfs的helper function。这样的好处是非常好写,不容易出错。 Self Recursion 。。。 ...
分类:
其他好文 时间:
2019-09-16 09:20:42
阅读次数:
85
递归思想程序调用自身的编程技巧称为递归( recursion)?例如,设计一个程序设计计算n!。先分析递归的思想,现在要计算6!分解为6×5!分解为6×5×4!分解为6×5×4×3!...分解为6×5×4×3×2×1 递归的程序是int fact(3){ if(n==1) return 1; els ...
分类:
其他好文 时间:
2019-09-13 22:45:33
阅读次数:
102
出现原因: 这个错误意思是超过最大递归深度,python默认的递归深度默认是1000),因此当递归深度超过就会引发这样的异常。 解决方法: 1.执行pyinstaller -F XXX.py 它会在你的目录文件生成XXX.spec文件,然后报错,出现该类异常。 2.打开XXX.spec文件,在开头添 ...
分类:
其他好文 时间:
2019-09-05 14:03:22
阅读次数:
92
void hanoi(int n, char x, char y, char z) { if (n == 1) printf("%c->%c\n", x, z); else { hanoi(n - 1, x, z, y); printf("%c->%c\n", x, z); hanoi(n - 1,... ...
分类:
其他好文 时间:
2019-08-23 22:45:20
阅读次数:
113
Recursion is a technique in which a problem is solved by itself; it's a technique to solve most Divide & Conquer problems. Differences between Divide ...
分类:
其他好文 时间:
2019-08-18 09:30:00
阅读次数:
94