
算法类
文章平均质量分 85
Dartagnan
发现问题,分析问题,解决问题,还别忘了记录问题!
展开
-
12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球?
12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。1,天平一边放四个,平则坏球在余下的四个里,好办。 不平,先将偏重的四个编号为:1、2、3、4。偏轻的编为A、B、C、D(因为不知道轻重)。 2。天平一边放三个,比如:左边放1、2、A。右边放3、4、B。 平则坏球是C、D 里偏轻的,不平则根据轻重淘汰1、2、B或 3、4、A 二、用无码天转载 2009-09-26 09:12:00 · 1957 阅读 · 0 评论 -
AC自动机算法详解
FROM:http://www.cppblog.com/mythit/archive/2009/04/21/80633.html摘自:http://www.cppblog.com/mythit/archive/2009/04/21/80633.htmlht转载 2011-09-30 16:00:32 · 999 阅读 · 0 评论 -
通过金矿模型介绍动态规划
对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,所以如果你在阅读中发现转载 2011-08-25 16:50:19 · 3197 阅读 · 0 评论 -
二叉树最近共同祖先问题
最近共同祖先问题 Union/Find 数据结构的一个例子是离线的最近共同祖先(NCA) 问题。 给定一棵树和树中节点对的列表,对每一个节点对需找到其最近的共同祖先。图中显示了一棵树,其带有一个含5转载 2011-09-20 23:21:04 · 3072 阅读 · 1 评论 -
O(logn)时间复杂度求Fibonacci数列
题目:定义Fibonacci数列如下: / 0 n=0f(n)= 1 n=1 \ f(n-1)+f(n-2) n=2转载 2011-09-14 22:13:56 · 8646 阅读 · 5 评论 -
在一个字符串中找到第一个只出现一次的字符
题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。 分析:这道题是2006年google的一道笔试题。看到这道题时,最直观的想法是从头开始扫描这个字符串中的每个字符。当访问到某字符时拿这个字符和后面的每个字符相比较,如果在后面没有发现重复的字原创 2011-08-03 21:05:52 · 5708 阅读 · 3 评论 -
分配排序---箱排序,基数排序与桶排序及排序选择方法
总的来说,排序算法按按平均时间可分为四类:(1)平方阶(O(n2))排序 一般称为简单排序,例如直接插入、直接选择和冒泡排序;(2)线性对数阶(O(nlgn))排序 如快速、堆和归并排序;(3)O(n1+£)阶排序 £是介于0和1之间的常数,即0(4)线性阶(O(n))排序(这就是我们要讨论的分配排序) 如桶、箱和基数排序。 分配排序的基本思想:转载 2011-07-01 09:47:00 · 2005 阅读 · 0 评论 -
三种基于“分配”“收集”的线性排序算法---计数排序、桶排序与基数排序
文中代码见原文链接:http://www.byvoid.com/blog/sort-radix/[非基于比较的排序]在计算机科学中,排序是一门基础的算法技术,许多算法都要以此作为基础,不同的排序算法有着不同的时间开销和空间开销。排序算法有非常多种,如我们最常用的快速排序和堆排序等算法,这些算法需要对序列中的数据进行比较,因为被称为基于比较的排序。基于比较的排序算法是不能突破O(转载 2011-07-01 09:19:00 · 899 阅读 · 0 评论 -
最近关于排序算法的 一些笔记
最近闲来无事,复习了下一些排序算法,温故知新! 首先,温故:维基上的排序算法定义 其次,推荐两个有意思的算法排序算法网站:(这是老外用JAVA写的一些排序算法)(比较直观地了解各种排序算法过程) 优快云上看到的一些帖子:是不是该取消冒泡排序与插入排序(这个,还是保留得好!) 几种排序的实现(其中有一位朋友的学习笔记)原创 2011-06-30 19:55:00 · 1529 阅读 · 0 评论 -
几种搜索引擎算法研究
1.引言 万维网WWW(World Wide Web)是一个巨大的,分布全球的信息服务中心,正在以飞快的速度扩展。1998年WWW上拥有约3.5亿个文档[14],每天增加约1百万的文档[6],不到9个月的时间文档总数就会翻一番[14]。WEB上的文档和传统的文档比较,有很多新的特点,它们是分布的,异构的,无结构或者半结构的,这就对传统信息检索技术提出了新的挑战。 传统的WEB搜索引擎大多数转载 2011-07-02 10:17:22 · 1139 阅读 · 0 评论 -
用Java实现几种常用排序算法(先实现一个org.rut.util.algorithm.SortUtil)
先实现org.rut.util.algorithm.SortUtil这个类(以后每个排序都会用到):package org.rut.util.algorithm;import org.rut.util.algorithm.support.BubbleSort;import org.rut.util.algorithm.support.HeapSort;import org.r原创 2011-06-18 10:59:00 · 3794 阅读 · 2 评论 -
Bloom Filter(布隆过滤器)的概念和原理
Bloom filter 适用范围:可以用来实现数据字典,进行数据的判重,或者集合求交集 基本原理及要点: 对于原理来说很简单,位数组+k个独立hash函数。将hash函数对应的值的位数组置1,查找时如果发现所有hash函数对应位都是1说明存在,很明显这转载 2011-10-06 17:35:10 · 28103 阅读 · 0 评论