合并排序: 合并排序算法是用来分治策略实现对n个元素进行排序的算法,其基本思想是:将待排序元素分成大小大致相同的两个子集合, 分别对两个子集合进行排序,最终将排好序的子集合并成要求的排好序的集合。 递归实现如下: 非递归实现如下:方法自个考虑,其实实现起来很简单。 ...
分类:
编程语言 时间:
2019-01-12 19:26:51
阅读次数:
230
一、示例: 树的结构: 示例中自己构建了图片中的这棵树: 树节点模型: 构建树: 二、遍历方式 提供三种方式进行遍历: ① 递归形式的深度优先遍历: ② 非递归的深度优先遍历 3. 广度优先遍历,遍历所有叶子路径 三种方式的输出: 三、总结 示例是查找树的所有叶子节点,举一反三,如果我们是查找树中满 ...
分类:
其他好文 时间:
2019-01-08 15:35:37
阅读次数:
184
``` function readDirFiles($dir){ $files= []; $queue=[realpath($dir)]; $currentPath = current($queue); while($currentPath) { $path = $currentPath; if (... ...
分类:
Web程序 时间:
2019-01-01 21:44:41
阅读次数:
235
1 public class Main{ 2 public static int binarySearch(int a[],int x,int n) { 3 int left=0; 4 int right=n-1; 5 while(left<=right) { 6 int middle=(left+... ...
分类:
其他好文 时间:
2019-01-01 19:20:32
阅读次数:
154
题意 $\sigma_0(i)$ 表示 $i$ 的约数个数 求 $$ S_k(n)=\sum_{i=1}^n\sigma_0(i^k)\pmod {2^{64}} $$ 共 $T$ 组数据 $T\le10^4,n,k\le10^{10}$ 题解 其实 SPOJ 上还有 divcnt2,divcnt3 ...
分类:
其他好文 时间:
2018-12-31 11:20:40
阅读次数:
202
自10月来,我用了3个个多月,做了大概120题, 感觉编码水平有所提升。 前120题还未总结,先记录这几天学到的东西。 Leetcode-173: BST迭代器设计 语言:C++ 简介:说白了,就是BST的非递归中序遍历,需要一个栈做辅助结构。 测试结果: 40ms 空间复杂度:与树高成正比,最好情 ...
分类:
其他好文 时间:
2018-12-29 21:03:24
阅读次数:
327
递归的本质 逻辑上自己调用自己 系统上帮你压栈 比如我要解决一个问题A 我必须先解决他的子问题B B也有子问题C C也有........ 相当于一种依赖的关系 递归 去回 耗内存 效率低 一切递归可以改成非递归 master公式 T(N)= T(N/2)+0(N) 待续 归并 mergeSort 分 ...
分类:
其他好文 时间:
2018-12-29 00:13:39
阅读次数:
245
node 节点定义 递归前序遍历: 非递归前序遍历:先遍历当前节点,再遍历他的左子树,再到右子树。每个节点都保存着左右子树的信息。 因为当前节点被弹出,所以必须要先保存他的右子树。如果不将右子树不压栈的话,将会丢失信息。 中序递归遍历: 中序非递归遍历: 一直将他的左子树压栈。 一直到左子树最左的节 ...
分类:
其他好文 时间:
2018-12-23 11:15:44
阅读次数:
132
1 先总结非递归 数据表: 此无限级分类没有处理 分类排序有效,以后更改。 2 递归+排序 ...
分类:
编程语言 时间:
2018-12-22 01:42:23
阅读次数:
179
递归和非递归分别实现求第n个斐波那契数。 编写一个函数实现n^k,使用递归实现。 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和, 例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19。 编写一个函数 reverse_string(char * ...
分类:
其他好文 时间:
2018-12-21 16:55:43
阅读次数:
160