04 2013 档案

Catalan数计算及应用
摘要:问题描述:卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列。输入一个整数n,计算h(n)。 其递归式如下:h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (其中n>=2,h(0) = h(1) = 1) 阅读全文

posted @ 2013-04-26 17:08 dztgc 阅读(732) 评论(0) 推荐(0)

机器学习:感知器(perceptron)
摘要:感知器以一个实数值向量作为输入,计算这些输入的线性组合,然后如果结果大于某个阈值就输出1 ,否则输出-1 。 更精确地,如果输入为x,那么感知器计算的输出为: 阅读全文

posted @ 2013-04-22 22:16 dztgc 阅读(6882) 评论(1) 推荐(0)

机器学习:ID3算法
摘要:决策树通过把实例从根节点排列到某个叶子结点来分类实例,叶子结点即为实例所属的分类。树上的每一个结点指定了对实例的某个属性的测试,并且该结点的每一个后续分支对应于该属性的一个可能值。 分类实例的方法是从这棵树的根节点开始,测试这个结点指定的属性,然后按照给定实例的该属性值对应的树枝向下移动。然后这个过程在以新结点为根的子树上重复。 画出了一棵典型的学习到的决策树。 阅读全文

posted @ 2013-04-22 20:37 dztgc 阅读(6834) 评论(0) 推荐(3)

排列的字典序问题
摘要:n个元素{1,2,...,n}有n!个不同的排列。将这n!个排列按字典序排列并编号为0,1,...,n!-1。每个排列的编号为其字典序值。例如,当n=3时,6个不同排列的字典序值如下: 给定n,以及n个元素{1,2,...,n}的一个排列,计算出这个排列的字典序值,以及按字典序排列的下一个排列。 阅读全文

posted @ 2013-04-21 16:25 dztgc 阅读(2619) 评论(1) 推荐(0)

带重复元素的全排列
摘要:上一篇写了全排列的算法,本文介绍有重复元素的排列问题,即元素可以重复。 此方法其实与Perm算法类似,回忆一下perm算法是讲list[k:m]中的每一个元素分别与list[k]中的元素交换。 而有重复元素时应该考虑区别了,设k ≤ i ≤ m,此时要替换 list[ k ] 为 list [ i ],则 k ≤ j ≤ i,list[j]已经替换过了。若list[ i ]==list[ j ],则此时的替换在之前已经做过,此时再做相当于重复了,则不应替换! 阅读全文

posted @ 2013-04-20 20:30 dztgc 阅读(2237) 评论(0) 推荐(0)

全排列问题
摘要:一般地,从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排列(Sequence,Arrangement, Permutation)。 n个不同元素全部取出的一个排列,叫做n个不同元素的一个全排列。这是在排列数公式中,m=n,即有: Ann=n·(n-1)·(n-2)·…·3·2·1 阅读全文

posted @ 2013-04-20 19:53 dztgc 阅读(895) 评论(0) 推荐(0)

合并排序
摘要:合并排序算法是用分治策略实现对n个元素进行排序的算法。   其基本思想是:待排序元素分成大小大致相同的两个集合,分别对两个子集合进行排序,最终将排好序的子集合合并成所要求的排好序的集合。 阅读全文

posted @ 2013-04-20 19:17 dztgc 阅读(220) 评论(0) 推荐(0)