代码改变世界

实用算法实现-第 10 篇 动态规划

2011-10-18 15:17 by myjava2, 128 阅读, 0 推荐, 收藏, 编辑
摘要:10.1 动态规划10.1.1实例PKU JudgeOnline, 1160, Post Office.10.1.2问题描述 一条直线上分布着V个村庄。要在这些村庄中的某些村庄里建一共P个邮局,使得村庄到离它最近的邮局的距离之和最小。输出这个的最小距离之和。10.1.3输入10512 3 6 7 9 11 22 44 5010.1.4输出910.1.5分析思路:用opt[i][j]记录把前i个邮局建到前j个村庄中的最优解,用cost[i][j]记录所有在i到j村庄中,建1个邮局的最小代价。显然邮局应该设到中点。让前i个邮局覆盖前j个村庄,第i+1个邮局覆盖第j+1至j+k个村庄(j+k< 阅读全文

spring整合ibatis中遇到的问题

2011-10-18 14:56 by myjava2, 123 阅读, 0 推荐, 收藏, 编辑
摘要:public Student getById(int id) { // TODO Auto-generated method stub return (Student) getSqlMapClientTemplate().queryForList("getStudentById",id); }这是自己写的代码遇到了个错误,很纠结……上网找了好半天最后才发现是自己的函数写错了:queryForList只能是返回一个Arraylist的序列值并不能转化为Student的对象。这里需要用到的是queryForObject函数来返回一个对象Student类。 阅读全文

计算机编译过程

2011-10-18 10:09 by myjava2, 412 阅读, 0 推荐, 收藏, 编辑
摘要:计算机编译程序的基本过程编译程序是将高级语言的源程序翻译成与之等价的目标程序(汇编语言或机器语言)1:词法分析词法分析的任务就是把源程序构成的字符串转换成单词序号序列.如:标识符,常数,关键字,运算符,分界符等.词法分析用到有限自动机的方法去处理.有限状态自动机所接受的语言就是正规语言.使用正规表示是表达.2:语法分析语法分析的任务就是在词法分析的基础上,根据语言的规则将单词符号的序列转换成各类语法单位,如"表达式","语句","程序"等.语法规则就是各类语法单位构成的规则,通过分析确定输入串是否构成一个语法上正确的程序.如果源程序没 阅读全文

实用算法实现-第 9 篇 RMQ问题

2011-10-17 08:33 by myjava2, 198 阅读, 0 推荐, 收藏, 编辑
摘要:9.1 RMQ问题RMQ(Range Minimum/Maximum Query)问题,就是对于给定数组,在其下标范围[i, j]内给出的最小值(或最大值,下文都称最小值)的问题。RMQ和LCA问题可以互相转化,一个对RMQ和LCA问题的总结如下表[i]:算法处理方式复杂度备注转化算法LCA =>±1RMQN/AO(n)引理1,规模O(n) - O(2n-1)RMQ => LCA-CTN/AO(n)引理2,规模不变朴素算法LCA-Naive onlineO(n^2) - O(1)动态规划RMQ-Naive onlineO(n^2) - O(1)直接求解经典算法LCA-Ta 阅读全文

成功不可缺少--团队精神

2011-10-16 23:23 by myjava2, 195 阅读, 0 推荐, 收藏, 编辑
摘要:周六米老师又给我们讲了一节关于素质方面的知识--团队精神。 在现在的社会一个人的能力固然很重要,但是一个人的力量总是很渺小的,只有在一个团队中共同努力我们才能取得更加辉煌的成就。 怎样才能发挥好一个团队的力量那,这就需要我们在团队里面每个人的共同努力,团队就像一个大的家庭,古人云:家和万事兴,在我们团队里我们彼此帮助互相协作,只有这样我们才能发挥出团队的力量,只有这样我们才能有更大的成就。 提高班就是一个团队,我们每个人就是这个大家庭的一员,如果想要让自己达到更高的成就,那么就需要我们共同的努力,一起协作去奋斗,俗话说:水涨船高,只要我们互相团结互相协力,我们提高班的整体的战斗力上去了,... 阅读全文

数据结构中的图

2011-10-16 16:38 by myjava2, 166 阅读, 0 推荐, 收藏, 编辑
摘要:1:图的存储结构邻接表:对于带权邻接表,每个连接有三个单元,分别存储:结点号,权值,指针邻接矩阵:2:图的遍历方法深度优先和广度优先3:最小生成树连通图的一个子图包含图的所有结点,就是这个图的生成树.其中如果带权值和加起来最小,就是最小生成树.最小生成树不是唯一.考点:找出最小生成树4:最短路径单源最短路径每一对定点之间的最短路径5:拓扑排序AOV网络,一般表示活动的进行顺序,每次选择没有入读的点.可以有多条6:关键路径从起点到终点的最长路径最早开始时间:到该结点的关键路径最迟开始时间:关键路径-该结点到终点的关键路径 阅读全文

实用算法实现-第 8 篇 后缀树和后缀数组 [4 最长回文子串]

2011-10-16 13:31 by myjava2, 556 阅读, 0 推荐, 收藏, 编辑
摘要:8.5 最长回文子串定义字符串S的逆序为S’,有S’[i]=S[n - i - 1](0 ≤ i < len(S),下文所有i处于这个区间内)。其中len(S)为S的长度。如果S和S’相同,则称S为回文串(Palindrome)。S的最长回文子串就是S的所有子串中是回文串且长度最长的字符串。定义Suffix(S, i)为S以S[i]开头且包含S[i]的后缀字符串。定义Prefix(S, i)为S以S[i]结尾且包含S[i]的后缀字符串。令n = Len(S)可知有如下性质:1. Len(S’) = Len(S) = n;2. Len(Suffix(S, i)) = Len(S) - i; 阅读全文

实用算法实现-第 8 篇 后缀树和后缀数组 [3 两个字符串的最长公共子串]

2011-10-16 12:56 by myjava2, 354 阅读, 0 推荐, 收藏, 编辑
摘要:8.4 两个字符串的最长公共子串两个串的最长公共字串是相对于多个串要简单一点,不需要二分A。只需要判断相邻两个Height是不是分属两个字符串即可。8.4.1实例PKU JudgeOnline, 2774, Long Long Message.8.4.2问题描述给两个小写ASCII字母组成的字符串,求出它们最大公共子串的长度。相比PKUJudgeOnline, 3450, Corporate Identity,这个题目比较简单,而且测试数据并不强,没有测出求Height数组的一个错误。8.4.3输入yeshowmuchiloveyoumydearmotherreallyicannotbelie 阅读全文

数据结构中的二叉树

2011-10-16 11:01 by myjava2, 139 阅读, 0 推荐, 收藏, 编辑
摘要:二叉树是数据结构中最重要的一种结构,下面总结一下各种二叉树的性质和考点1:二叉排序树(查找树)(BST性质)定义:左孩子小于根结点,右孩子大于根结点.或者为空.用于查找考点:考查对查找树的建立.给出一段结点序列.依次插入,建立二叉排序树.2:平衡二叉树(AVL树)定义:左右子树的高度差小于1 为了满足二叉树的高度为log2n,保证时间复杂度为log2n.考点:考查如何调整建立平衡二叉树,利用排序树构造平衡二叉树中,如何将不平衡的二叉树构旋转成平衡的二叉树.3:线索树定义:利用链表存储二叉树,其中用空指针域存储遍历信息.考点:考查线索树的存储示意图4:最优二叉树定义:树的带权路径长度最小,哈夫曼 阅读全文

实用算法实现-第 8 篇 后缀树和后缀数组 [2 最长公共子串]

2011-10-16 00:01 by myjava2, 533 阅读, 0 推荐, 收藏, 编辑
摘要:8.3 最长公共子串求N个串的最长公共子串,可以转化为求一些后缀的最长公共前缀的最大值,这些后缀应分属于N个串。设N个串分别为S1,S2,S3,…,SN。具体方法如下:1. 建立字符串S,使得S = S1[P1]S2[P2]S3…SN-1[PN-1]SN。其中P1,P2,…,PN-1应为不同的N - 1个不在字符集中的字符,作为分隔符。插入分隔符的目的是为了防止S的后缀的公共前缀超出原有串Si的范围。2. 求出S的后缀数组及其Height数组。可以用倍增算法,或DC3算法。3. 将S1,S2,S3,…,SN的公共子串大小至少为A的真假表示为check(A),如果check(A) == true 阅读全文
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 52 下一页