`
文章列表
注意:Java中的嵌套类与C++中的嵌套类大致一致,只不过C++中的那些类不能够访问私有成员,而在Java中可以访问。    Java Code  12345678910   public class TstInnerClass {    static class A {        void method() {            new B();        }    }    static class B {        private B() {}    }}  
package org.vocano.java.tst.recursion; public class Fibonacci { public static int recursive(int n) { if(n < 2) return 1; return recursive(n-2) + recursive(n-1); } public static int directly(long n) { if(n < 3) return 1; int result = 0; int a1 = 1, a2 = 1; for ...

Java中的缓存

    博客分类:
  • Java
原文链接:http://blog.sina.com.cn/s/blog_6d2890600101gb8l.html   import java.util.HashMap; import java.util.Map; public class JavaCache { private Map map=new HashMap(); public Object getValue(String key){ //先从缓存里面取值 Object obj=map.get(key); //判断缓存里面是否有值 if(obj==null){ / ...
原文链接:http://2014.qq.com/a/20140627/003109.htm   腾讯体育6月27日讯 在葡萄牙与加纳的比赛有,有这样一幕:伤停补时第1分钟,C罗的抢点攻门贴框而出,C罗痛苦的以拳捶地,然后翻身坐在草坪上,左臂捂面抱憾,右手则握着自己之前受伤的脚……但是在仅仅片刻后,他又开始不知疲倦的狂奔、射门。这个夜晚,C罗拖着伤腿,真正做到了拼到最后一秒,赛后他当选全场最佳,也就实至名归了。 在葡萄牙出击这场比赛前,所有人都清楚葡萄牙的命运:他们想要出线,就必须取胜,而且要大胜,必须从头到尾都要疯狂的追求进球。赛前葡萄牙每个球员都在豪言壮语“寻找进球到最后一刻”云云、“ ...
(星期日)06-15 09:00 科特迪瓦 对 日本(2:1)。本田圭佑16分进球,德罗巴60分上场,64分博诺·维尔弗里德 进球,66分热尔维尼奥进球,德罗巴重要。 (星期日)06-24 00:00阿根廷 对 伊朗(1:0)。本以为阿根廷应该大胜。迪马利亚、罗德里格斯、伊瓜因、梅西、阿圭罗。伊朗打的很血腥。不过确实阿根廷占据了场上的主动,主动化为进球还是很难得。最后梅西子在95分完成绝杀。 (星期一)0623 06:00 美国 对 葡萄牙(2:2)。葡萄牙只有1分,出线只是可能性。C罗厉害的队友太少了。 (星期二)0624 00:00荷兰 对 智利(2:0)。争小组第一,小组第二应该打 ...
参照严蔚敏 吴伟民《数据结构(C语言版)》P187.   给出两个程序片段:图都对应下面的图 第一个:邻接矩阵 的实现。 第二个:邻接表 的实现。   理解的关键是: 1,第一条最短的路径就是v0-v2。 2,次短路径是,也是到Vk的最短路径,要么是V0-Vk,要么是V0-V2-Vk。 基于代码整理: package abc.graph; import java.util.Arrays; public class MGraph { int vertexNum; int [][] adjMatrix; int INFINITY = 9999; ...
邻接矩阵:可以存储无向图,也可存储有向图。构造一个具有n个顶点和e条边的无向图的时间复杂度O(n*n+e*n),其中对灵接矩阵的初始化消耗了O(n*n)的时间。   邻接表:图的一种链式存储结构。可以存储无向图和有向图,有向图可以建立“逆邻接表”。构造邻接表或者“逆邻接表”时间复杂度O(n+e),n个顶点+e条边。邻接表相对于邻接矩阵如果是边稀疏图的话比较节约空间。但是邻接表要确定Vi和Vj是否有边的时候没有邻接矩阵方便。   十字链表:有向图的另一种链式存储。在十字链表中容易找到Vi的尾的弧,也容易找到以Vi为头的弧,因而容易求得顶点的出度和入度。   邻接多重表:无向图的另一种 ...
8.3.1深度优先搜索遍历     图的深度优先搜索遍历类似于二叉树的深度优先搜索遍历。其基本思想如下:假定以图中某个顶点Vi为出发点,首先访问出发点,然后选择一个Vi的未访问过的邻接点Vj,以Vj为新的出发点继续进行深度优先搜索,直至图中所有顶点都被访问过。显然,这是一个递归的搜索过程。     现以图8.15为例说明深度优先搜索过程。假定V1是出发点,首先访问V1。因V1有两个邻接点V2、V3均末被访问过,可以选择V2作为新的出发点,访问V2之后,再找V2的末访问过的邻接点。同V2邻接的有V1、V4和V5,其中V1已被访问过,而V4、V5尚未被访问过,可以选择V4作为新的出发点。重 ...
8.3.1深度优先搜索遍历     图的深度优先搜索遍历类似于二叉树的深度优先搜索遍历。其基本思想如下:假定以图中某个顶点Vi为出发点,首先访问出发点,然后选择一个Vi的未访问过的邻接点Vj,以Vj为新的出发点继续进行深度优先搜索,直至图中所有顶点都被访问过。显然,这是一个递归的搜索过程。     现以图8.15为例说明深度优先搜索过程。假定V1是出发点,首先访问V1。因V1有两个邻接点V2、V3均末被访问过,可以选择V2作为新的出发点,访问V2之后,再找V2的末访问过的邻接点。同V2邻接的有V1、V4和V5,其中V1已被访问过,而V4、V5尚未被访问过,可以选择V4作为新的出发点。 ...
  package abc.Dijkstra.pack3; import java.util.ArrayList; import java.util.List; public class AlGraph { List<HeadNode> headNodes = new ArrayList<HeadNode>(); void addVertex(HeadNode node) { headNodes.add(node); } void addArc(HeadNode head, HeadNode tail) { ...
  package abc.Dijkstra.pack3; public class MGraph { int vertexNum; int [][] adjMatrix; MGraph(int vertexNum) { this.vertexNum = vertexNum; adjMatrix = new int[vertexNum][vertexNum]; } void addArc(int vi, int vj) { if(vi < 1 || vi > vertexNum) throw new Runtim ...
原文链接:http://andy100861.blog.163.com/blog/static/98551191200992202558438/ 图的存储结构   图的存储结构除了要存储图中各个顶点的本身的信息外,同时还要存储顶点与顶点之间的所有关系(边的信息),因此,图的结构比较复杂,很 ...
原文链接:http://www.blogjava.net/qujinlong123/archive/2007/08/27/140048.html   关键代码: public Object remove(int index) { if (index >= size || index < 0) throw ne ...
  public class Tst { static TreeNode treeFactory() { TreeNode a = new TreeNode("a"); TreeNode b = new TreeNode("b"); TreeNode c = new TreeNode("c"); TreeNode d = new TreeNode("d"); TreeNode e = new TreeNode("e"); TreeNode f = ...
链接:http://www.iteye.com/topic/1134016 java hashmap,如果确定只装载100个元素,new HashMap(?)多少是最佳的,why? 我认为是:new HashMap(128,0.8), 或者new HashMap(256).   1,初值为2的次方个,不过其实hashmap的内部也是保证了。 2,大于100个,不想rehash,代价高。 3,默认0.75以上rehash。如果100个元素的hash分布很好,用了100个不同的地方。
Global site tag (gtag.js) - Google Analytics