algorithms
文章平均质量分 71
geekster
被教育业
展开
-
求两个链表的第一个节点
参考编程之美的第三章 234页。如果离链表有环的话,有环的节点肯定是共同的节点,通过标志位找环的节点或者通过链长度n以及循环的第n+1个节点肯定是第一个节点,然后用这个节点在第二个链中去遍历。 剑指offer上的193页,面试题37方法2:标记已经访问的节点 首先对每个节点添加一个标志位bVisited,表示这个节点有没有被访问过,初始为fals转载 2013-10-09 17:27:53 · 650 阅读 · 0 评论 -
全排列生成算法
recursive generating这个算法接受一个元素均不同的数组,通过递归的调用以生成所有全排列序列。递归的原则在于,生成序列的全排列P(a1,a2,…,an)等价于生成序列…这构成了递归算法设计的deduction-case;而base-case,则是要生成全排列的序列只有一个元素。整个算法大致上可以如下实现:转载 2013-10-17 10:58:31 · 706 阅读 · 0 评论 -
一些常见的概率生成器的题目
1. 百度的一个面试题目:.已知一随机发生器,产生0的概率是p,产生1的概率是1-p,现在要你构造一个发生器, 使得它构造0和1的概率均为1/2;构造一个发生器,使得它构造1、2、3的概率均为1/3;…, 构造一个发生器,使得它构造1、2、3、…n的概率均为1/n,要求复杂度最低。初看确实有点头晕,也没什么思路。但是仔细想想为什么生成0和1的概率均为1/2,我们可以看成是生转载 2013-10-17 17:46:00 · 2935 阅读 · 0 评论 -
机器学习中的相似性度量
在做分类时常常需要估算不同样本之间的相似性度量(Similarity Measurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。 本文的目的就是对常用的相似性度量作一个总结。本文目录:1. 欧氏距离2. 曼哈顿距离3. 切比雪夫距离4. 闵可夫斯基距离5. 标准化欧氏距转载 2014-01-05 17:14:46 · 870 阅读 · 0 评论 -
最近共同父结点(LCA,Least Common Ancestor)
给定一棵二叉搜索树中两个节点的值,找到它们的最近共同祖先。假定两个节点都在树中,比如如图4和14的最近共同节点是8。1、通用解决方案:建立两个链表分别保存两个节点的祖先,然后逐个比较这两个链表,找到第一个不同的节点,这个节点之前的那个节点就是最近共同祖先。2、本方案:检查当前节点;如果value1和value2都小于当前节点的值,检查它的左子节点;如果value1和valu转载 2013-10-16 10:15:08 · 1411 阅读 · 0 评论