查找斐波纳契数列中第 N 个数。 所谓的斐波纳契数列是指: 前2个数是 0 和 1 。 第 i 个数是第 i-1 个数和第i-2 个数的和。 经典的递归实现方式,当选取向n过大时,严重的影响了执行效率,我通过声明变量来储存前两项相加的和 这种方法极大的提高的计算效率,通过循环的方向不断进行累加 ...
分类:
其他好文 时间:
2018-08-24 10:58:23
阅读次数:
107
1.DFS 深度优先搜索在搜索过程中访问某个顶点后,需要递归地访问此顶点的所有未访问过的相邻顶点。 (1)递归实现 (2)也可以用非递归实现,借助于栈的数据结构 其中visited代表着每个节点是否被访问,一般定义成全局的数组。也有将visited定义为局部的数组,作为函数参数引用传递的。 2、BF ...
分类:
其他好文 时间:
2018-08-16 01:09:53
阅读次数:
182
题目 解析 通过递归实现;可以用先序遍历,然后串成链表 主要思想就是:先递归对右子树进行链表化并记录,然后将root right指向 左子树进行链表化后的头结点,然后一直向右遍历子树,连接上之前的右子树 理解上面代码过后就容易理解: "LeetCode | Flatten Binary Tree t ...
分类:
其他好文 时间:
2018-08-14 21:57:44
阅读次数:
123
1.二分查找的原理 对于已经排序的列表进行最快速度的查找 2. 代码实现 (1)递归实现 (2)非递归实现 3.时间复杂度 最优时间复杂度:O(1) 最坏时间复杂度:O(logn) 因为是二分所有分多少次代表要查多少次,即为logn ...
分类:
编程语言 时间:
2018-08-12 12:05:25
阅读次数:
119
import os filePath = "/Users/busensei/wzy/filePath/" def read(filePath, n): it = os.listdir(filePath) # 打开文件夹 for el in it: # 拿到路径 fp = os.path.join(f... ...
分类:
编程语言 时间:
2018-08-10 15:49:51
阅读次数:
181
中序遍历是先遍历左子树,在自身,再遍历右子树, 非递归实现的方法,一直遍历左节点,然后出栈,在遍历右节点 ...
分类:
其他好文 时间:
2018-08-10 01:32:18
阅读次数:
136
今天需要做一个功能,根据专业,有不同的章节,章节下面有对应的习题, 由于只有这么两级,可以不用使用递归,直接查询父集,之后foreach查询子集放入对应的list集合。 虽然实现了,感觉毕竟,太low。 有同事跟我说可以使用mybatis的递归实现,就学习了下。 对应的bean里面需要有对应的lis ...
分类:
其他好文 时间:
2018-08-07 00:30:49
阅读次数:
189
def trans(num): if num // 10 == 0: return '%s'%num else: return trans(num//10)+'%s'%(num%10) a=trans(25969) print(a,type(a)) #25969 ...
分类:
编程语言 时间:
2018-08-06 18:26:23
阅读次数:
139
一、题目 1、审题 2、分析: 给出数字 n,求所有正常的闭合的括号字符串的集合。 二、解答 1、思路: 利用循环不能解决问题,考虑用递归实现; a、当 '(' >= ‘)’ 时,才是正常情况;否则不能闭合,即结束此次递归; b、依次加入 '('、‘)’,当 ')' == '(',时,是一种满足的情 ...
分类:
其他好文 时间:
2018-08-03 22:31:52
阅读次数:
102