
算法漫谈
文章平均质量分 81
looushu
還未可知
展开
-
数据压缩算法学习(一)---RLE算法
简介RLE全称(run-length encoding),翻译为游程编码,又译行程长度编码,又称变动长度编码法(run coding),在控制论中对于二值图像而言是一种编码方法,对连续的黑、白像素数(游程)以不同的码字进行编码。游程编码是一种简单的非破坏性资料压缩法,其好处是加压缩和解压缩都非常快。其方法是计算连续出现的资料长度压缩之。特点------无损失压缩,既节省了磁盘空间又不损原创 2013-11-21 23:34:42 · 6458 阅读 · 2 评论 -
LeetCode 第三题,Longest Substring Without Repeating Characters
题目:Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is 3.原创 2014-08-03 20:38:44 · 10385 阅读 · 4 评论 -
基础典型算法研究:合并有序数组
做leetcode第二题的时候,发现合并有序数组是一个很有意思的问题,于是,总结如下,部分内容来源于网络各位大神.第一种方法:合并调用sort.即是将两个数组合并在一个数组里面,然后对合并后的数组调用sort函数即可.class Solution: def getArray(self, A, B) : for item in B :原创 2014-08-02 18:30:02 · 1348 阅读 · 0 评论 -
浅谈程序员的数学修养
可能有很多朋友在网上看过Google公司早几年的招聘广告,它的第一题如下了:{first 10-digit prime found in consecutive digits e}.com,e中出现的连续的第一个10个数字组成的质数。据说当时这个试题在美国很多地铁的出站口都有大幅广告,只要正确解答了这道题,在浏览器的地址栏中输入这个答案,就可以进入下一轮的测试,整个测试过程如同一个数学迷宫,直到你转载 2013-12-03 21:28:14 · 1658 阅读 · 1 评论 -
巴仕博弈(Bash Game)小结
问题描述巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。分析一堆物品共 n 个,两人轮流从中取物,规定每次至少取一个,最多取m个。最后取光者得胜。设 n=(m+1)q+r ( 0≤r≤m )①若 r=0, 后取者必胜,策略如下:若先取者拿走 k 个,则后取者拿走 m+1-k 个,结果剩原创 2013-11-12 23:52:43 · 3596 阅读 · 0 评论 -
算法入门系列一--DP初步
数字三角形(数塔问题)其实动态规划本身并不是一个特定的算法,是一种用途广泛的问题求解方法,一种思想,一种手段。1.1问题描述与状态定义有一个有非负整数组成的三角形,第一行一个数字,下面各行除了最后一行外,每行的每个数字下面左右各一个数字。如图示:从第一行数字开始,每次只能走左下或右下一格,直到走到最后一行,把沿途的走过的所有数字加起来。如何能使这个和最大原创 2013-10-15 01:08:51 · 3614 阅读 · 2 评论 -
ACM进阶计划
ACM进阶计划ACM队不是为了一场比赛而存在的,为的是队员的整体提高。大学期间,ACM队队员必须要学好的课程有:l C/C++两种语言l 高等数学l 线性代数l 数据结构l 离散数学l 数据库原理l 操作系统原理l 计算机组成原理l 人工智能l 编译原理l 算法设计与分析转载 2013-10-15 22:42:52 · 1834 阅读 · 0 评论 -
ACM 进阶学习第一课----简单数学问题之同余相关(1)
同余相关分为四部分:整除的性质欧几里德算法扩展欧几里德算法中国剩余定理整除的性质原创 2013-11-03 01:05:16 · 3833 阅读 · 21 评论 -
ACM 进阶学习第一课----同余相关之中国剩余定理
问题引入"物不知数"问题:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?答曰:'二十三.'术曰:三三数之剩二,置一百四十,五五数之剩三,置六十三,七七数之剩二,置三十,并之,得二百三十三,以二百一十减之,即得.凡三三数之剩一,则置七十,五五数之剩一,则置二十一,七七数之剩一,则置十五,即得." --孙子算经当代解释令任意固定整数为M,当M/A原创 2013-11-04 01:05:16 · 14263 阅读 · 17 评论 -
数据结构基本算法:图的存储(以邻接链表为例)
数据结构的图的建立方法,简单的邻接链表形式代码:可运行。对于其他各种的存储方式,等会有一帖。(发现了好东西。。)代码如下:有链表和顺序数组组成。链表用来存储边的信息,数组用来用存储顶点的数据信息。/***** 图的建立********//******** written by C_Shit_Hu ************///////////////数据结构//原创 2013-10-08 22:15:16 · 2443 阅读 · 1 评论 -
算法入门系列二--DP入门之DAG上的DP
算法入门系列二--DP入门之DAG上的DPDAG:有向无环图。DAG是学习动态规划的基础,很多问题都可以直接转化为DAG上的最长路、最短路或路径计数问题。两个经典的DAG模型,嵌套矩形和硬币问题,今天先写第一个嵌套矩形问题。原创 2013-10-16 13:51:33 · 4885 阅读 · 2 评论 -
DP入门系列二--DAG之二最短路(硬币问题)
续上篇:http://blog.youkuaiyun.com/hu1020935219/article/details/12777635引言:DAG:有向无环图。DAG是学习动态规划的基础,很多问题都可以直接转化为DAG上的最长路、最短路或路径计数问题。两个经典的DAG模型,嵌套矩形和硬币问题,今天写第二个硬币模型问题。这个问题我搞了两天才弄明白。。。(暂时选用记忆化搜索和递推法)原创 2013-10-18 18:36:00 · 2806 阅读 · 3 评论 -
ACM第一课---数论之欧拉函数
欧拉函数定义欧拉函数PHI(n)表示的是比n小,并且与n互质的正整数的个数(包括1)。比如:PHI(1) = 1; PHI(2) = 1; PHI(3) = 2; PHI(4) = 2; ... PHI(9) = 6; ...通式及其证明要计算一个正整数n的欧拉函数的方法如下:1. 将n表示成素数的乘积: n = p1 ^ k1 * p2 ^ k2 *原创 2013-11-05 22:13:38 · 8443 阅读 · 1 评论 -
动态规划入门三---背包问题(1)
序言背包问题是最广为人知的动态规划问题之一,拥有很多的变形,尽管在理解之后不难写出程序,但是往往要花费一定的时间真正的掌握它。多阶段决策问题1.1引例 物品无限的背包问题有n种物品,每种均为无穷多个。第i个物品的体积为Vi,重量为Wi。选一些物品装入一个容量为C的背包,是的背包内的物品在总体积不超过C的情况下重量尽可能地大。1【分析】似乎很眼熟,因为原创 2013-10-20 20:47:32 · 1727 阅读 · 1 评论 -
ACM 进阶学习第一课----素数相关(2)
今天学习数论的第二个方面素数相关主要内容算术基本定理欧拉定理素数测试Pollard rho方法算术基本定理筛法目标:求出n以内的所有质数【原始算法步骤】初始时容器内为2到n的所有正整数取出容器中最小的数p,p一定是质数,删去p的所有倍数(注:只需从p2开始删除即可)重复上述步骤直到容器为空【原始算法分析】优点:算法简单,空原创 2013-11-05 00:59:27 · 2077 阅读 · 0 评论 -
LeetCode 第一题,Two Sum
题目还原Two SumGiven an array of integers, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that they add up t原创 2014-08-01 01:43:51 · 4506 阅读 · 0 评论