摘要: 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code),另外由于最大数与最小数之间也仅一位数不同,即“首尾相连”,因此又称循环码或反射码。在数字系统中,常要求代码按一定顺序变化。例如,按自然数递增计数,若采用8421码,则数0111变到1000时四位均 阅读全文
posted @ 2016-08-01 17:47 HorseShoe2016 阅读(3756) 评论(0) 推荐(0) 编辑
摘要: 代码: 阅读全文
posted @ 2016-07-31 18:05 HorseShoe2016 阅读(1624) 评论(0) 推荐(0) 编辑
摘要: 学习《算法设计与分析基础》,习题2.4 第5题要求为汉诺塔游戏设计一个非递归的算法。 思,不得其解。看书后答案提示: 好吧,话都说得这么直接了,遂百度之,得到一个感觉很好的答案,略做修改,摘录于下: 原文地址:http://blog.sina.com.cn/s/blog_48e3f9cd010004 阅读全文
posted @ 2016-07-30 12:19 HorseShoe2016 阅读(9234) 评论(0) 推荐(0) 编辑
摘要: 《算法设计与分析基础》习题1.2 第 9 题如下: 原算法遍历每一个元素对,时间复杂度为 O(n²)。这其中有一半的元素对是重复比较的。且在已知 a < b < c 而比较过了 a、b 的差的情况下,没必要再比较 a 和 c 的差。 改进该算法的思想时,先选取前两个元素的差作为 dmin ,并记录下 阅读全文
posted @ 2016-07-29 17:07 HorseShoe2016 阅读(4775) 评论(5) 推荐(1) 编辑
摘要: 之前一篇随笔"算法学习(1) 扩展欧几里得算法"记录了对 朴素欧几里得算法 和 扩展欧几里得算法 的学习和认识。学习所用书籍为 [美]Anany Levitin 所著 《算法设计与分析基础》。 书后习题1.1 第10题 b 题如下: 看完题目开始思考,该题与扩展欧几里得算法有何联系?如果 c 为 a 阅读全文
posted @ 2016-07-29 11:31 HorseShoe2016 阅读(1814) 评论(0) 推荐(0) 编辑
摘要: 摘自百度百科 欧几里德算法 摘自百度百科 欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理: gcd函数就是用来求(a,b)的最大公约数的。 gcd函数的基本性质: gcd(a,b)=gcd(b,a)=gcd(-a,b)=gcd(|a|,|b| 阅读全文
posted @ 2016-07-28 21:53 HorseShoe2016 阅读(951) 评论(0) 推荐(0) 编辑
摘要: 运算符 ALL 和 ANY 常与某个关系比较运算符结合在一起使用,以便测试列子查询的结果。它们会测试比较值与子查询返回的全部或部分值是否匹配。例如,当比较值小于或等于子查询返回的每个值时,<= ALL 的结果为真;当比较值小于或等于子查询返回的任意值时,<= ANY 的结果为真。SOME 是 ANY 阅读全文
posted @ 2016-07-28 10:44 HorseShoe2016 阅读(1000) 评论(0) 推荐(0) 编辑
摘要: 子查询指的是用括号括起来,并嵌入另一条语句里的那条 SELECT 语句。下面有一个示例,它实现的是找出与考试类别('T')相对应的所有考试事件行的 ID,然后利用它们来查找那些考试的成绩: 1.1 带关系比较运算符的子查询 运算符 =、<>、>、>=、< 和 <= 可用来对值之间的关系进行比较。当与 阅读全文
posted @ 2016-07-28 10:33 HorseShoe2016 阅读(1545) 评论(0) 推荐(0) 编辑
摘要: 当子查询要返回多个行来与外层查询进行比较运算时,可以使用运算符 IN 和 NOT IN。它们会测试某个给定的比较值是否存在于某一组值里。如果外层查询里的行与子查询返回的某一个行相匹配,那么 IN 的结果为真。如果外层查询里的行与子查询返回的所有行都不匹配,那么 NOT IN 的结果为真。 1. 下面 阅读全文
posted @ 2016-07-28 10:27 HorseShoe2016 阅读(3355) 评论(0) 推荐(0) 编辑
摘要: 有许多演示如何使用MySQL所支持的连接操作的示例,都用到了下列两个表 t1 和 t2: 由于这两个表都很小,因此我们可以很清楚地看到每种类型的连接操作所执行的效果。 1.内连接 1.1 如果SELECT 语句的 FROM 子句里列出了过个表的名字,并且这些名字是由 INNER JOIN 隔开的,那 阅读全文
posted @ 2016-07-27 22:39 HorseShoe2016 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 1. mysqlshow 命令提供的信息与某些 SHOW 语句很相似,因此可以从命令行提示符获取数据库和表的信息。 (i)列出服务器所管理的数据库: (ii)列出数据库里的表: (iii) 显示表里的列信息: (iv) 显示表里的索引信息: (v) 显示数据库里所有表的描述性信息: 2. 客户端程序 阅读全文
posted @ 2016-07-27 21:01 HorseShoe2016 阅读(338) 评论(0) 推荐(0) 编辑
摘要: MySQL允许使用 CREATE TABLE 语句和 DROP TABLE 语句来创建、删除表,使用 ALTER TABLE 语句更改其结构。CREATE INDEX 语句和 DROP INDEX 语句则可以用来为已有表增加或删除索引。下面将详细解释这些语句。但先来了解一下MySQL支持的存储引擎的 阅读全文
posted @ 2016-07-27 17:01 HorseShoe2016 阅读(1178) 评论(0) 推荐(0) 编辑
摘要: 1.选择数据库 使用 USE 语句可以选择数据库,并把它指定为MySQL服务器连接的默认(当前)数据库: 要想选择数据库,用户必须要具备相应的访问权限;否则,会出现错误提示。 选择了一个数据库,并不意味着它就是此次会话期间的默认数据库。用户可以根据需要调用 USE 语句,从而实现在两个数据库之间的任 阅读全文
posted @ 2016-07-26 22:10 HorseShoe2016 阅读(597) 评论(0) 推荐(0) 编辑
摘要: 1. 使用源码安装好MySQL后,其配置文件一般位于 /usr/local/my.cnf,可以使用如下命令查看查看配置文件的搜索顺序: 可以看到,红色标记的那一段话显示搜索 my.cnf 的顺序为 /etc/mysql/my.cnf、/etc/my.cnf、/usr/local/mysql/my.c 阅读全文
posted @ 2016-07-26 20:39 HorseShoe2016 阅读(1937) 评论(0) 推荐(0) 编辑
摘要: 原题地址链接:https://code.google.com/codejam/contest/351101/dashboard#s=p2 问题描述: Problem The Latin alphabet contains 26 characters and telephones only have 阅读全文
posted @ 2016-07-26 12:05 HorseShoe2016 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 原题地址链接:https://code.google.com/codejam/contest/351101/dashboard#s=p1 问题描述: Sample: Perl算法: 上传原题地址链接网站,结果正确 阅读全文
posted @ 2016-07-26 11:47 HorseShoe2016 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 原题地址链接:https://code.google.com/codejam/contest/351101/dashboard#s=p0 问题描述: Sample: Perl 语言算法: 将输出文件上传上面原题链接的网站测试,结果正确。 阅读全文
posted @ 2016-07-26 11:42 HorseShoe2016 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 今天做 Google的 Code Jam 上的一道题目:https://code.google.com/codejam/contest/351101/dashboard#s=p2,用Perl语言解答的。遇到一个关于hash遍历的问题,思考了好一会儿才发现问题所在,为了简化叙述,写了一个简单的遍历哈希 阅读全文
posted @ 2016-07-25 21:21 HorseShoe2016 阅读(2879) 评论(0) 推荐(0) 编辑
摘要: 在UNIX/Linux 系统上,打开命令终端,输入 'rpm -q perl' 查看系统是否安装了 perl 在自己的CentOS7 系统上,默认自带了 perl 软件: 可以看到系统默认已经安装了 perl5 软件。 查看安装位置: 1. 第一个 Perl 程序 Perl 的语句用分号分隔。注释以 阅读全文
posted @ 2016-07-24 18:57 HorseShoe2016 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 《Perl语言入门》第15章习题第2题如下: 自己写的程序如下: 结果运行的时候,发现输入 3 、5 、7 ,没有任何输出,而输入 15、 35 、21 之类的数字,却可以有 “Fizz Bin”、 “Bin Sausage” 之类的输出,怎么回事呢? 仔细推敲,原来问题出在第5行的正则表达式的代码 阅读全文
posted @ 2016-07-24 18:02 HorseShoe2016 阅读(1245) 评论(0) 推荐(0) 编辑