简述树的深度优先及广度优先遍历算法,并说明非递归实现。原题出自百度的笔试:当时我看到这个题目的时候,已经完全记不得非递归算法该怎么实现了,后来查阅了一下,要用到两个辅助的数据结构:深度优先遍历--->栈;广度优先遍历--->队列;这里以二叉树为例来实现。import
java.util.ArrayD...
分类:
其他好文 时间:
2014-05-20 02:33:07
阅读次数:
425
插入排序 最好情况输入数组开始时候就是满足要求的排好序的,时间代价为θ(n);
最坏情况输入数组是按逆序排序的,时间代价为θ(n^2)。 归并排序
归并排序采用了算法设计中的分治法,分治法的思想是将原问题分解成n个规模较小而结构与原问题相似的小问题,递归的解决这些子问题,然后再去合并其结果,得到原问...
分类:
其他好文 时间:
2014-05-19 22:13:51
阅读次数:
284
#includeint sum(int* a, int n){ return (0 ==
n)?0:(sum(a,n-1) + a[n-1]);}void sum1(int* a, int n,int& s){ if(0 == n)
return; else {...
分类:
其他好文 时间:
2014-05-19 20:33:20
阅读次数:
381
栈与队列都是具有特殊存取方式的线性表,栈属于先进后出(FILO),而队列则是先进先出(FIFO)。栈能够将递归问题转化为非递归问题,这是它的一个重要特性。除了FILO、FIFO这样的最普遍存取方式外,还有一些扩展的数据结构,如双端队列、双栈、超队列、超栈等,它们是一种扩展与变异结构。
线性表有...
分类:
编程语言 时间:
2014-05-19 11:36:46
阅读次数:
369
第四道树题,逐渐能写递归了。虽然最后AC的代码还是看了网络,但是距离成功攻克此类问题仅一步之遥。题目:一棵树,判断是否为AVL。(AVL条件:树上任意一点的左右子树的高度差_
1 ) return false; else return isBalanced(root.lef...
分类:
其他好文 时间:
2014-05-16 04:04:41
阅读次数:
259
(本文转载于:www.klsele.com.cn)php中通过递归实现删除目录下的所有文件。,有需要的朋友可以参考下。最近遇到一个实际问题,需要清空制定目录下的所有文件及清空数据库。清空数据库不难,但要如何递归删除一个目录下的所有文件呢。
于是去网上研究了下资料再加上自己琢磨解决了这一问题。先贴代码...
分类:
Web程序 时间:
2014-05-15 20:56:49
阅读次数:
446
看这个代码:
public class D
{
@Override
public String toString()
{
return "obj:"+this;
}
public static void main(String[] args)
{
System.out.println(new D());
}...
分类:
其他好文 时间:
2014-05-15 20:18:38
阅读次数:
277
题目来源:POJ 2689 Prime Distance
题意:给出一个区间L R 区间内的距离最远和最近的2个素数 并且是相邻的 R-L
思路:一般素数筛选法是拿一个素数 然后它的2倍3倍4倍...都不是 然后这题可以直接从2的L/2倍开始它的L/2+1倍L/2+2倍...都不是素数
首先筛选出一些素数 然后在以这些素数为基础 在L-R上在筛一次因为 R-L
#include
#i...
分类:
其他好文 时间:
2014-05-15 19:51:58
阅读次数:
313
第五道树题,10分钟之内一遍AC。做树题越来越有feel~题目:求一棵树从root结点到叶子结点的最短路径。思路:仍然是递归。如果一个结点的左右子树任意一边为Null,该子树的minDepth应为非null子树的高度+1;如果一个结点的左右子树两边都非Null,则该子树的minDepth应为两个子树...
分类:
其他好文 时间:
2014-05-15 17:24:43
阅读次数:
226
这道题跟有?和*的那道题很像,不过要简单一些。为什么会简单呢,因为*号只能匹配跟它前面相同的字符。需要注意一点,从aab可以用c*a*b来匹配可以看出,*号可以使他之前的那个字符出现次数变成0。
昨天实验室的同学正好在做这个题,说想用递归做,我想都没想就说用递归肯定超时了。她为什么,我跟人家说因为递归的分支太多了,可怎么也想不起当初自己是怎么写的,回来一看,居然用递归做的,打脸啊。。这个题为什么...
分类:
其他好文 时间:
2014-05-15 13:29:34
阅读次数:
229