博客专栏  >  综合   >  算法系列

算法系列

介绍各种有意思的算法,用最通俗的语言和最具可读性的代码,揭示每个算法的本质,让算法不再神秘,让每个程序员爱上算法。

关注
151 已关注
31篇博文
  • 算法系列之二十二:离散傅立叶变换之听声音破解电话号码

    利用离散傅立叶变换,将电话拨号音从时域信号转换成频域信号,然后通过频率分析找出对应的双音频频率组合,从而确定是哪个按键的拨号音

    2013-12-09 00:43
    22459
  • 算法系列之二十一:实验数据与曲线拟合

    曲线拟合(Curve Fitting)的数学定义是指用连续曲线近似地刻画或比拟平面上一组离散点所表示的坐标之间的函数关系,是一种用解析表达式逼近离散数据的方法。曲线拟合通俗的说法就是“拉曲线”,也就是...

    2013-10-16 22:17
    55010
  • 算法系列之二十:计算中国农历(二)

    (接上篇)        所谓的“天文算法”,就是利用经典力学定律推导行星运转轨道,对任意时刻的行星位置进行精确计算,从而获得某种天文现象发生时的时间,比如日月合朔这一天文现象就是太阳和月亮的地心黄经...

    2013-07-15 23:36
    20542
  • 算法系列之二十:计算中国农历(一)

    世界各国的日历都是以天为最小单位,但是关于年和月的算法却各不相同,大致可以分为三类: 阳历--以天文年作为日历的主要周期,例如:中国公历(格里历)阴历--以天文月作为日历的主要周期,例如:伊斯兰历阴阳...

    2013-07-01 00:18
    51900
  • 算法系列之十九:用天文方法计算日月合朔(新月)

    中国农历的朔望月是农历历法的基础,而朔望月又是严格以日月合朔发生的那一天作为月首,因此日月合朔时间的计算是制定农历历法的关键。本文将介绍ELP-2000/82月球运行理论,以及如何用ELP-2000/...

    2012-11-25 22:56
    19729
  • 算法系列之十八:用天文方法计算二十四节气(下)

    【接上篇】         经过上述计算转换得到坐标值是理论值,或者说是天体的几何位置,但是FK5系统是一个目视系统,也就是说体现的是人眼睛观察效果(光学位置),这就需要根据地球的物理环境、大气环境等...

    2012-09-04 23:20
    18765
  • 算法系列之十八:用天文方法计算二十四节气(上)

    二十四节气在中国古代历法中扮演着非常重要的角色,本文将介绍二十四节气的基本知识,以及如何使用VSOP82/87行星运行理论计算二十四节气发生的准确时间。        中国古代历法都是以月亮运行规律为...

    2012-08-26 22:59
    31520
  • 算法系列之十七:日历生成算法-中国公历(格里历)(下)

    【接上篇】         上述计算星期的方法虽然步骤简单,但是每次都要计算两个日期的时间差,不是非常方便。如果能够有一个公式可以直接根据日期计算出对应的星期岂不是更好?幸运的是,这样的公式是存在的。...

    2012-08-02 22:55
    17032
  • 算法系列之十七:日历生成算法-中国公历(格里历)(上)

    日历在我们的生活中扮演着十分重要的角色,上班、上学、约会都离不开日历。每年新年开始,人们都要更换新的日历,你想知道未来一年的这么多天是怎么被确定下来的吗?为什么去年的国庆节是星期五而今年的国庆节是星期...

    2012-07-15 23:08
    21744
  • 算法系列之十六:使用穷举法解猜结果游戏

    一、 引言         穷举是解决问题的一种常用思路,当对一个问题无从下手的时候,可以考虑在问题域允许的范围内将所有可能的结果穷举出来,然后根据正确结果的判断规则对这些结果逐个验证,从而找出正确的...

    2012-05-27 23:01
    12185
  • 算法系列之十五:循环和递归在算法中的应用

    一、递归和循环的关系 1、 递归的定义         顺序执行、循环和跳转是冯·诺依曼计算机体系中程序设计语言的三大基本控制结构,这三种控制结构构成了千姿百态的算法,程序,乃至整个软件世界。递归也算...

    2012-05-20 23:11
    17337
  • 算法系列之十四:狼、羊、菜和农夫过河问题

    题目描述:农夫需要把狼、羊、菜和自己运到河对岸去,只有农夫能够划船,而且船比较小,除农夫之外每次只能运一种东西,还有一个棘手问题,就是如果没有农夫看着,羊会偷吃菜,狼会吃羊。请考虑一种方法,让农夫能够...

    2012-05-13 22:56
    63147
  • 算法系列之十三:椭圆的生成算法

    椭圆和直线、圆一样,是图形学领域中的一种常见图元,椭圆的生成算法(光栅转换算法)也是图形学软件中最常见的生成算法之一。在平面解析几何中,椭圆的方程可以描述为(x – x0)2 / a2+ (y – y...

    2012-04-24 23:38
    29133
  • 算法系列之十二:多边形区域填充算法--几种边标志填充算法

    四、边界标志填充算法        在光栅显示平面上,多边形是封闭的,它是用某一边界色围成的一个闭合区域,填充是逐行进行的,即用扫描线逐行对多边形求交,在交点对之间填充。边界标志填充算法就是在逐行处理...

    2012-04-16 22:20
    22890
  • 算法系列之十二:多边形区域填充算法--改进的扫描线填充算法

    三、改进的扫描线填充算法        扫描线填充算法的原理和实现都很简单,但是因为要同时维护“活动边表(AET)”和“新边表(NET)”,对存储空间的要求比较高。这两张表的部分内容是重复的,而且“新...

    2012-03-25 21:45
    17482
  • 算法系列之十二:多边形区域填充算法--扫描线填充算法(有序边表法)

    二、扫描线算法(Scan-Line Filling)        扫描线算法适合对矢量图形进行区域填充,只需要直到多边形区域的几何位置,不需要指定种子点,适合计算机自动进行图形处理的场合使用,比如电...

    2012-03-19 14:57
    65399
  • 算法系列之十二:多边形区域填充算法--扫描线种子填充算法

    1.3扫描线种子填充算法        1.1和1.2节介绍的两种种子填充算法的优点是非常简单,缺点是使用了递归算法,这不但需要大量栈空间来存储相邻的点,而且效率不高。为了减少算法中的递归调用,节省栈...

    2012-03-11 23:47
    35141
  • 算法系列之十二:多边形区域填充算法--递归种子填充算法

    平面区域填充算法是计算机图形学领域的一个很重要的算法,区域填充即给出一个区域的边界(也可以是没有边界,只是给出指定颜色),要求将边界范围内的所有象素单元都修改成指定的颜色(也可能是图案填充)。区域填充...

    2012-03-06 00:10
    44527
  • 算法系列之十一:圆生成算法

    输入您的搜索字词 提交搜索表单         在平面解析几何中,圆的方程可以描述为(x – x0)2 + (y – y0)2 = R2,其中(x0, y0)是圆心坐标,R是圆的半径,...

    2012-02-12 21:45
    39274
  • 算法系列之十:直线生成算法

    在欧氏几何空间中,平面方程就是一个三元一次方程,直线就是两个非平行平面的交线,所以直线方程就是两个三元一次方程组联立。但是在平面解析几何中,直线的方程就简单的多了。平面几何中直线方程有多种形式,一般式...

    2012-01-08 23:41
    26263

img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部