Git命令速记

生成SSH Keyssh-keygen -t rsa -C "youremail@example.com" 在用户主目录里找到.ssh目录 将id_rsa.pub中的数据放到服务器的.ssh目录下 克隆远程仓库git clone https/git查看所有的版本提交记录git log (--pretty=oneline)$ git log commit affd8ca1bc90c0865fbdc42...
阅读(1434) 评论(0)

Spring速查手册(三)——Spring+JDBC

Spring的数据访问异常体系JDBC提供了SQLException异常,它是一个检查异常,必须要捕获。 但该异常过于笼统,只要是数据访问发生问题都抛出这个异常。因此很难在抛出该异常后进行恢复,因此该异常就没有抛出的必要。 Spring对JDBC的异常进行了转换,并进行了扩充,使得异常更加具体化,能够根据异常来进行恢复。 此外,Spring的数据访问异常均继承自DataAccessExcept...
阅读(395) 评论(0)

Spring速查手册(二)——Bean的作用域

Bean的四种作用域 单例(Singleton):整个应用中,只创建一个bean。 原型(Prototype):每次注入或请求要给bean的时候都创建一个新的bean。 会话(Session):每个session创建要给bean。 请求(Request):每个WEB请求创建一个bean。 PS:Spring默认的bean是单例的!使用会话/请求作用域的注意点// 创建一个session的bean @...
阅读(320) 评论(0)

Spring速查手册——Bean装配

Spring提供三种Bean的装配方式,分别是: 1. 自动装配Bean 2. 在Java中装配Bean 3. 在XML中装配Bean1. 自动装配Bean(注解)Spring从两个角度完成Bean的自动化装配: - 组件扫描:扫描上下文中所有的Bean(由@Component、@Named注解完成) - 自动装配:将指定的Bean注入到指定的Bean中(由@Autowired、@Inje...
阅读(234) 评论(0)

回溯法(一)——n皇后问题

问题描述 在一个n*n的棋盘上放置皇后,要求:一个皇后的同一行、同一列、同一条对角线上不允许出现其他皇后。请给出所有的放置方案。 算法思路思路很简单,由于每行每列不能出现两个皇后,因此每行只能放一个皇后,那么第i行中皇后究竟应该放哪儿呢?我们可以从第i行第一列开始依次向后逐格判断,看看若放在当前位置是否会冲突,若不冲突,则继续考虑下一行,若冲突,则继续向后移动一格,再判断。 若i行所有的位置都...
阅读(613) 评论(0)

图的遍历(BFS+DFS)

图的遍历与树的遍历基本类似,但要注意两个不同: 1. 图中可能有环路,因此可能会导致死循环; 2. 一个图可能由多个独立的子图构成,因此一条路径走到头后要重新选择尚未遍历的起点。 图的邻接表数据结构请参见:图的邻接表示法Java版 宽度优先遍历思路 选择一个尚未访问的起点,依次访问它的相邻结点; 若相邻结点还有相邻结点的话,再依次访问尚未访问的相邻结点;直到以该结点为起点的这条路径上所有的结...
阅读(399) 评论(0)

图的邻接表示法Java版

边节点 一个边节点有一条边 和 一个终止节点组成。/** * 边节点(由一条边和一个终止节点构成) */ class ENode{ int id;// 终止节点的编号 int weight;// 边的权重 }图的邻接表示图用一个Map表示,其中String表示节点的编号,List中存储以该节点为起点的所有边节点。 Map<String,List<E...
阅读(323) 评论(0)

动态规划法(五)——多段图问题

问题描述 给定一个多段图,求出多段图中的最短路径和最短路径长度。 什么是多段图? 多段图是一个有向、无环、带权 图。 有且仅有一个起始结点(原点source) 和 一个终止结点(汇点target)。 它有n个阶段,每个阶段由特定的几个结点构成。 每个结点的所有结点都只能指向下一个相邻的阶段,阶段之间不能越界。 数据结构 cost数组: 该数组用于记录以某个结点为起点,到终点t的最短路径长度值。...
阅读(621) 评论(0)

动态规划法(四)——0/1背包问题

问题描述 有n个物体,重量分别是w0~wn-1,每个物体放入背包后可获得的收益分别为p0~pn-1,背包载重为M,且所有物体要么放要么不放,不能只放一部分。求如何放物体可以得到最高的收益。 问题分析设f(i,m)表示第i步背包的总收益,其中i表示当前进行到了第i步,m为当前背包载重,则当前第i步只有两种选择: 将第i个物体放入背包 此时背包总收益就变成f(i-1,m-wi)+wi。 第i个物体...
阅读(686) 评论(0)

动态规划法(三)——最长公共子序列

问题描述 给定两个序列,求出它们的最长公共子序列。 如:序列X={a,b,c,b,d,a,b},Y={b,d,c,a,b,a},则X和Y的最长公共子序列为{b,c,b,a}子序列:子序列为原序列的一个子集,并不要求连续,但要求子序列中元素的顺序和原序列元素的顺序一致。 定理 设两个序列分别是X={x1,x2……,xm},Y={y1,y2……,yn},它们的最长公共子序列为Z={z1,z...
阅读(846) 评论(10)

动态规划法(二)——弗洛伊德算法

问题描述 给定一个带权有向图,计算任意两结点间的最短路径。 迪杰斯特拉算法可以计算指定起点到所有结点的最短路径长度,因此分别对每个结点使用一次迪杰斯特拉算法即可求的任意两结点间的最短路径。迪杰斯特拉算法的时间复杂度为O(n^2),因此采用这种方法的时间复杂度为O(n^3)。 但是,迪杰斯特拉算法不允许权值为负数,因此需要使用弗洛伊德算法。 弗洛伊德算法允许权值为负数的边,但不允许回路的路径长...
阅读(696) 评论(0)

动态规划法(一)——概述

什么是动态规划法动态规划法也是用于求解最优化问题,也采用分步决策的策略,将一个大问题划分成若干个较小的同类子问题,根据子问题的解,自底向上,得出整个问题的解。与贪心法的异同相同 都是用于求解最优化问题; 都采用分步决策,计算出每一步的最优解。 不同 贪心法的每一步决策依赖于『最优量度标准』,不依赖于子问题的解和尚未作出的选择; 动态规划法每一步决策依赖于子问题的解,无需最优量度标准。 与分治法的异同...
阅读(225) 评论(0)

贪心算法(五)——迪杰斯特拉算法

问题描述 给一个有向无环带权图,并给一个起点,求出该原点到所有顶点的最短路径。 数据结构 dis:Map dis;存储原点s到指定节点的最短路径长度。 key表示节点编号,value表示s到该终止节点的最短路径长度。 path:Map path;存储以指定结点为终点的最短路径中,该终点的上一个结点的编号。 key表示终点编号,va...
阅读(287) 评论(0)

贪心算法(四)——最小代价生成树

问题描述 n个村庄间架设通信线路,每个村庄间的距离不同,如何架设最节省开销? 这个问题中,村庄可以抽象成节点,村庄之间的距离抽象成带权值的边,要求最节约的架设方案其实就是求如何使用最少的边、最小的权值和将图中所有的节点连接起来。 这就是一个最小代价生成树的问题,可以用Prim算法或kruskal算法解决。 PS1:无向连通图的生成树是一个极小连通子图。 PS2:生成树是图的一个子图,包括所有的...
阅读(1069) 评论(0)

贪心算法(三)——最佳合并模式

问题描述 给定n个有序文件,每个文件的记录数分别为w1~wn,请给出一种两两合并的方案,使得总合并次数最少。 注意: 1. 外排序算法是将多个有序文件合并成一个有序文件的过程。 2. 在一次合并的过程中,两个文件中的所有记录都需要先从文件中读入内存,再在内存中排序,最后将排序的结果写入文件中。 3. 假设两个待排序文件记录数分别为n、m,那么将这两个文件合并成一个有序的文件需要进行n+m次...
阅读(679) 评论(0)
193条 共13页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:205458次
    • 积分:4098
    • 等级:
    • 排名:第7305名
    • 原创:184篇
    • 转载:8篇
    • 译文:0篇
    • 评论:115条
    博客专栏
    最新评论