`
sunlujing
  • 浏览: 180000 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
求数组中第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的两断. 对此算法导论上给出了一个最坏情况下为O(N)的算法 该算法就是每次partion的时候找到一个好的划分,用中位数的中位数作为pivot。 把数组分为 N/5组,每组插入排序之后求得中位数,共 N/ ...
常用的单源最短路径算法一共有两个,一个是Dijkstra算法 ,一个是Bellman-ford 算法Dijkstra 算法 不能处理含有负权边的图,Bellmanford 能够处理含负权边或包含负权回路的图。   首先是Dijkstra算法: 算法的具体思想就不多写了,算法导论上有很详细的介绍,我主要还是贴出一个代码实现。 Dijstra里面需要用到优先级队列这里笔者也给出了一个。 使用堆实现的优先级队列,Dijkstar的复杂度在VlogV。   优先队列: package graphic; import java.util.ArrayList; import java ...
Kruskal算法是最小生产树算法 算法的步奏: 初始情况下: 把所有的节点看成是独立的一颗森林。 算法的核心就是尽可能找出权值最小的边把这些分散的森林组合成一个完整的包含所有顶点的森林。 使用的是贪心算法,贪心的证明可以参看算法导论。 使用一个以边的权值为基准的优先级队列来维护所有的边 edges for(Edge edge:edges){     node src = deg.src;     node des = des.des;     // 判断src 和des 是否在同一个森林    如果不在同一个森林,则找到一条贪心边,    把src 对应的森林  和 ...
由于要面试的缘故,在看算法导论的图算法一节,决定把基本的算法都用java代码实现出来。 1. 图的表示,使用链接表的形式。 class TreeNode{ int nodeNum ; //节点编号 TreeNode parent = null; //遍历时的父节点 int dis = Integer.MAX_VALUE;// 距离源节点的路径 int discoverTime =0; //在DFS遍历时发现的时间 int finishTime =0;//DFS遍历时结束的时间 Color color = Color.White;//初始时的颜色标记 List ...
算法目标,对于 字符串 abcd1dd2deeedd9 能偶匹配到字符串 abc*dd?;*代表任意个数的字符串,?代表一个字符. 分两步走, 第一步实现含?而不含*的 字符串匹配,如对dd?的匹配  第二步,实现含有* 的字符串的匹配,如abc* dd?,主要思路是用* split 字符串,分为两个有效的串,abc, dd? 然后使用步骤一种的方法来查看匹配到的index.      /**    * 找出含?的字符串    * @return    */   public int checkSubPattern(String src,int begin,String ...
我已经告别了我的大学时代,又把我轻轻的脚步迈入了研究生时代,虽然我的方向是计算机网络技术可是我想在我的职业规划中最重要的是在研究生阶段培养起专业的程序员素养。我想这种素养的一部分就是要善于总结,对于自 ...
    本文是根据是在《北京圣思园深入JAVA虚拟机系列视频》的基础上自己整理而来,内容范围没有超过其系列所述,在此给予说明。 在进入ClassLoader的分析之前我们先看一个JAVA程序例子。   class Singleton {          /* case 1 */          private
在portlet2.0中加入了几大新特性。 资源服务:一种新的通过 portlet 呈现资源的方式。 事件:通过发送事件和接收事件来实现 portlet 之间的通信。 Portlet 过滤器:与 servlet 过滤器类似,根据 Portlet 请求和响应动态的呈现内容的 ...
portlet2.0 的通信特性     JSR268中定义了portlet之间的通信协议      基本的原理就是事件监听机制,portlet A 触发事件。portlet B对时间进行监听并作出反应。传递的数据放在 事件的 payload 里面。并且事件通信的两个portlet可以不再同一个page,需要修改portlet.event.distribution=layout。 具体参见liferay in action 里 ipc 那一章。      下面展示通过liferay in action 的一个例子。       pitchPortlet view.jsp 上有一个 按钮。通过该 ...
参考文献:http://kodemaniak.de/?p=62(我是没怎么看懂啊,哪位看懂了给无留个言谢谢了) jquery代码: $.ajax({                 type: 'post',                 url: url,                 dataType: 'json',                 contentType: "application/json",                 success: function(response){                     ...
终于ok了。。先开心一下。 我的问题和调试经历。      我使用lucene 为数据库建立索引,在初期的测试中,对数据进行增删改查我并没有使用缓存,而是直接用indexWriter进行commit。结果每一次commit后我马上进行搜索,结果就是 ...
     现在许多的浏览器都支持这样的功能,你新建一个标签页,标签页会以列表的形式显示你最近访问的网页。它的效果是 每个网页放入到一个 框里,在框里按照比例显示该网页,给人的感觉就是对该网页的一个截图效果。       最近在做的网管项目,功能特别多,有时候点击一个功能,可能要经过几级菜单的浏览,boss 让我考虑是否可以用这种方式记录下用户前几步访问的网页,在网上找了一下资料,找到一个大致类似的,用 div 中嵌入 iframe的方式做的。 代码如下:有其他思路的大神门,请多多赐教。              <!DOCTYPE html PUBLIC "-//W3C// ...
    有幸看到谷歌研究员,科学家吴军写的“浪潮之巅”,也深深的为作者的广博的知识和思考的智慧所折服,于我这种也初出茅庐都算不上的IT小生,也只能是 用海绵式的吸收知识的方式写下我看到的每一个故事了。(文章只 ...
大致的内容如下: 工作流技术调研: 工作流的概念 工作流相关术语 工作流系统功能概述 工作流运行的模式列举 业内工作流产品调研 Mocha BPM产品 中软工作流产品调研 天翔myApps工作流产品调研 我们的需求分析 系统模块划分 工单系统的功能性需求列表 需求变更总结 设计方案 数据库设计 关于hibernate实现持久层和session的管理 自定义表单的设计 自定义流程的设计 消息模块的设计 后记 见附件:doc
在shell 中以 , split 字符串如下 str="aaa,bbb,ccc,ddd"   我一般会用 echo $str |awk -F, '{print $1}' 这样的方式 或者是 echo $str|cut -d"," -f1 这样的方式   都能达到目的,但是由于文件很大,有很多行,上述方式需要开辟管道,会启动新进程,效率很低下。   在网上找了一下 存字符串的切分方式:   arr=(${line//,/ })   year=${arr[0]} userId=${arr[1]}   效率是最高的。
Global site tag (gtag.js) - Google Analytics