算法
文章平均质量分 69
sunlujing
这个作者很懒,什么都没留下…
展开
-
编程之美 烙饼问题 java实现(检测状态是否出现过)
import java.util.HashMap;import java.util.HashSet;import java.util.Map;import java.util.Set; /** * 对应编程之美的烙饼翻转 * @author sunlujing * */public class CookieReverse { private in...原创 2013-03-04 21:04:09 · 157 阅读 · 0 评论 -
java 实现含通配符的字符串匹配
算法目标,对于 字符串 abcd1dd2deeedd9 能偶匹配到字符串 abc*dd?;*代表任意个数的字符串,?代表一个字符.分两步走,第一步实现含?而不含*的 字符串匹配,如对dd?的匹配 第二步,实现含有* 的字符串的匹配,如abc* dd?,主要思路是用* split 字符串,分为两个有效的串,abc, dd?然后使用步骤一种的方法来查看匹配到的index. ...2012-10-28 17:42:31 · 5488 阅读 · 0 评论 -
图的基本算法(DFS,BFS, topoSort,SCC)
由于要面试的缘故,在看算法导论的图算法一节,决定把基本的算法都用java代码实现出来。1. 图的表示,使用链接表的形式。class TreeNode{ int nodeNum ; //节点编号 TreeNode parent = null; //遍历时的父节点 int dis = Integer.MAX_VALUE;// 距离源节点的路径 int discoverTi...2013-05-27 11:16:30 · 502 阅读 · 0 评论 -
Kruskal 算法
Kruskal算法是最小生产树算法算法的步奏:初始情况下:把所有的节点看成是独立的一颗森林。算法的核心就是尽可能找出权值最小的边把这些分散的森林组合成一个完整的包含所有顶点的森林。使用的是贪心算法,贪心的证明可以参看算法导论。使用一个以边的权值为基准的优先级队列来维护所有的边 edgesfor(Edge edge:edges){ node src = deg...2013-05-28 10:51:14 · 155 阅读 · 0 评论 -
单源最短路径算法 Dijkstra和Bellman-Ford
常用的单源最短路径算法一共有两个,一个是Dijkstra算法 ,一个是Bellman-ford 算法Dijkstra 算法 不能处理含有负权边的图,Bellmanford 能够处理含负权边或包含负权回路的图。 首先是Dijkstra算法: 算法的具体思想就不多写了,算法导论上有很详细的介绍,我主要还是贴出一个代码实现。Dijstra里面需要用到优先级队列这里笔者也给出了一个。使用...2013-05-29 14:56:38 · 359 阅读 · 0 评论 -
最坏情况O(N) 求数组中第K 大的元素。
求数组中第K的元素的一般方法就是使用快速排序的划分,Partion(seq,start,end) = p, 如果p=k 则ok。如果p >k 则在start, p -1的区间里找第K大的数,Partion(seq,start,p-1)否则partion(seq,p+1,end)算法的平均时间复杂度为O(N),最坏情况为N^2,即每次划分把数组变为为(n-1) 和1的两断....2013-06-01 20:23:03 · 228 阅读 · 0 评论 -
面试题 抛骰子8次 和为多少的概率最大
一道笔试题,抛骰子8次,和为多少最大,对于笔试题可以这样考虑,两个骰子和为 7的概率最大,8次的话最大为28.下面编程给出说明,result[i][j] 代表抛i次时,和为j 的次数。对于第i+1 次可使用前面的结果来计算,如计算 result[i+1][48] 可以 把result[i][48-1], result[i][48-2],result[i][48-3],result[i][4...2013-06-02 16:27:12 · 872 阅读 · 0 评论 -
面试时让我手写二叉查找树删除节点函数
找个实习不容易,今天去面试,面试官先问了我JVM的很底层东西,因为看过深入了解JVM这本书答得很顺,结果面试官来劲了,先说 你给我写一个 平衡二叉查找树删除节点的代码,我故意念到 “平衡二叉查找树”,面试官见我认怂说那你写二叉查找吧,我只知道删除节点有三种情况,分为删除节点是否是叶子节点,有一个子节点,有两个子节点,但是当场手写代码还是没有写出来。回来在参考书的帮助下手写了一遍。哎,基础不行。...2013-06-10 22:05:54 · 332 阅读 · 0 评论