
算法
Comsmelo
他跑啊跑,为的,是追上那个曾经被寄予厚望的自己
展开
-
线性时间选择
给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k小的元素。Step1. 从a[]中选取划分基准元素,将a[0:n-1]划分为2部分,得到A[0:q]:1、a[0:q],q+1个元素,包括a[q]2、a[q+1, n-1],n-q-1个元素Step2. 1、L=q+1>=k, q>=k-1, 则左半段至少有k个不大于x=a[q]的小元素,第k小的元原创 2017-04-30 22:30:38 · 757 阅读 · 0 评论 -
平面最近点对
最近点对问题:给定平面上n个点的集合S,找其中的一对点,使得在n个点组成的所有点对中,该点对间的距离最小。 思路:(1)先考虑一维情况下,平面上的点退化成数轴上的n个实数点,最近点实际上就是实数中相差的最小点。我们用坐标上求出S中第n/2(向上取整) 小、第(n/2(向上取整) +1)小的p,q的坐标作为分割点(确保了两个子部分的大小接近),将数轴分为两部分递归原创 2017-05-23 16:33:27 · 720 阅读 · 0 评论 -
多边形游戏问题
问题描述: 多边形游戏是一个单人玩的游戏,开始时有一个由n个顶点构成的多边形。每个顶点被赋予一个整数值,每条边被赋予一个运算符“+”或“*”。所有边依次用整数从1到n编号。 游戏第1步,将一条边删除。 随后n-1步按以下方式操作: (1)选择一条边E以及由E连接着的2个顶点V1和V2; (2)用一个新的顶点取代边E以及由E连接着的2个顶点V1和V2。原创 2017-05-23 16:47:47 · 2523 阅读 · 0 评论 -
Tire树
百度百科定义:又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。原创 2017-07-05 15:38:09 · 392 阅读 · 0 评论 -
最大子段和
问题描述:给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。原创 2017-07-06 01:54:12 · 973 阅读 · 0 评论 -
最长公共子序列
问题描述:给定2个序列X={x1, x2,…, xm}和Y={y1,y2,…,yn},找出X和Y的最长公共子序列原创 2017-07-07 00:28:50 · 621 阅读 · 0 评论 -
Huffuman Coding(哈夫曼编码)
哈夫曼编码:假设要给一偏文章进行编码,文章由英文组成,对于全文来说,我们可以统计得到这篇文章各个字母出现的个数,个数大的字母意味着它在文章中出现的频率更高,对所有的字母都用相同的空间大小编码的话会产生一定的空间浪费。哈夫曼编码使得高频率出现的字母用更短码值表示,低频率出现的字母用更长的码值表示,可以缩小整篇文章的空间占用,达到压缩的目的。把字母看做编码用的各个编码数值同理。原创 2017-07-10 10:37:38 · 1566 阅读 · 0 评论