Welcome 微信登录

首页 / 软件开发 / 数据结构与算法

TreeSplitter---树形分词算法

TreeSplitter---树形分词算法

TreeSplitter---树形分词算法2015-02-11注:思路不是原创,首先感谢思维的突发奇想者一、 说明:目前分词的算法很多,现成的分词组件也不少,但很难找到一个我自己需要的,我只要一个分词功能,一个能理所当然完成分词工作的东西,理所当然是指词库里有什么词就能分出什么词。一些智能分词的目标是毋庸置疑的,难度也是随着智能的程度而增加,不是你我(只少不是我)随随便便走在大街上就能突发奇想出来的。一些成熟的分词方法是基于词库的,本着DRY原则以至于DR...
随机数问题

随机数问题

随机数问题2015-02-11当你在Stack Overflow网站标题中看到“随机”这个词你基本可以确定这是相同的基本问题无数的相似问题。本文带你探讨为什么随机性会引起这么多问题并且如何解决它们。Stack Overflow (or newsgroup, or mailing list etc) )网站的问题通常是这样的:我使用Random.Next生成随机数,但它一直给我相同的号码。 它不停的运行,但每次它会产生相同数量很多次。...
选择爱人的数学方法:经典秘书问题

选择爱人的数学方法:经典秘书问题

选择爱人的数学方法:经典秘书问题2015-02-15Kepler(开普勒,1571年12月27日-1630年11月15日),德国天文学家、数学家,十七世纪科学革命的关键人物。这样一位伟大的人物在1611年遇到一个问题,他的夫人患匈牙利斑疹伤寒(Hungarian spotted feve)过世,为了照顾孩子、打理家务,Kepler 需要重新寻找一位夫人。身为严谨的科学家,他认真记录下了“面试”11位夫人“候选人&rdqu...
算法:求n*m网格内矩形的数目

算法:求n*m网格内矩形的数目

算法:求n*m网格内矩形的数目2015-02-15一个n*m的网格,求这个网格中矩形的数目。比如以下2*2网格,总共有9个矩形:4个1*1的矩形,4个1*2的矩形,1个2*2的矩形算法1:动态规划,假设dp[i][j]表示以第 i 行第 j 列的格子为右下角顶点的矩形数目,那么dp[i][j] = 1 + dp[i-1][j] + dp[i][j-1] – dp[i-1][j-1] , 这里的1表示i ,j 位置的格子自身构成1*1的矩形,之所...
求最大子数组和的算法

求最大子数组和的算法

求最大子数组和的算法2015-02-15比如对于数组[1,-2,3,5,-1,2] 最大子数组和是sum[3,5,-1,2] = 9, 我们要求函数输出子数组和的最大值,并且返回子数组的左右边界(下面函数的left和right参数).本文我们规定当数组中所有数都小于0时,返回数组中最大的数(也可以规定返回0,只要让以下代码中maxsum初始化为0即可,此时我们要注意-1 0 0 0 -2这种情形,特别是如果要求输出子数组的起始位置时,如果是面试就要和面试官...
链表排序算法

链表排序算法

链表排序算法2015-02-15包括冒泡、选择、插入、快排、归并、希尔和堆排序以下排序算法的正确性都可以在LeetCode的链表排序这一题检测。本文用到的链表结构如下(排序算法都是传入链表头指针作为参数,返回排序后的头指针)struct ListNode {int val;ListNode *next;ListNode(int x) : val(x), next(NULL) {}};插入排序(算法中是直接交换节点,时间复杂度O(n^2),空间复杂度O(1)...
如何判断一个图是否有环

如何判断一个图是否有环

如何判断一个图是否有环2015-02-15对于无向图算法1我们知道对于环1-2-3-4-1,每个节点的度都是2,基于此我们有如下算法(这是类似于有向图的拓扑排序):求出图中所有顶点的度,删除图中所有度<=1的顶点以及与该顶点相关的边,把与这些边相关的顶点的度减一如果还有度<=1的顶点重复步骤2最后如果还存在未被删除的顶点,则表示有环;否则没有环时间复杂度为O(E+V),其中E、V分别为图中边和顶点的数目,这个算法我们稍后分析算法3的时候再分析。...
阿里巴巴2013笔试题 算法/研发岗

阿里巴巴2013笔试题 算法/研发岗

阿里巴巴2013笔试题 算法/研发岗2015-02-151.-7的二进制补码 (D)(1)-7的原码 1000 0111(2)符号位不变 1000 0111(3)数值位取反 1111 1000(4)加1 1111 1001注意:(1)正整数的补码与原码相同(2)补码转化为原码 补码的符号位为‘0’,原码就补码补码的符号位为‘1’,原码就是补码的补码2.四种介质,带宽最大:(C)A 同轴电缆 B 双绞线...
一致性哈希算法的Java实现

一致性哈希算法的Java实现

一致性哈希算法的Java实现2015-02-15一致性哈希算法是分布式系统中常用的算法。比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所有的数据映射都无效了,如果是持久化存储则要做数据迁移,如果是分布式缓存,则其他缓存就失效了。因此,引入了一致性哈希算法:把数据用hash函数(如MD5),映射到一个很大的空...
追美眉的各种算法

追美眉的各种算法

追美眉的各种算法2015-02-15动态规划基本上就是说:你追一个美眉的时候,需要对该美眉身边的各闺中密友都好,这样你追美眉这个问题就分解为对其美眉朋友的问题,只有把这些问题都解决了,最终你才能追到美眉。因此,该问题适用于聪明的美眉,懂得“看一个人,不是看他如何对你,而是看他如何对他人。”的道理,并且对付这样的美眉总能得到最优解。但确定是开销较大,因为每个子问题都要好好对待……贪心法基本上就是:你追一个美...
<< 111 112 113 114 115 116 117 118 119 120 >>