随笔分类 -  算法设计

摘要:偶然间,看到一个寻找鞍点的小问题,仔细想想,很多人的程序设计的都不能很好的解决每一行有多个最大值的情况(包括谭浩强的版本,竟然写的那么不严密,误人子弟啊)自己敲了一个。首先,解释一下鞍点的概念:这个点应该既是行的最大值同时又是列的最小值。不说没用的,贴上代码:/*寻找SaddlePoint:即同时是行的最大值和列的最小值。@author:Apart1.424.sci&teque.ncepu;2012.6.11*//*主要针对每一行可能最大值相等的有多个这一问题设计的算法。algorithm:2次遍历:第一次遍历寻找每行的最大值,第二次判断最大值的元素是否为最小值。*/#include& 阅读全文
posted @ 2012-06-11 20:08 Tup 阅读(775) 评论(0) 推荐(0)
摘要:20世纪最好的算法,计算机时代的挑选标准是对科学和工程的研究和实践影响最大。本文按年代次序排列的20世纪最好的10个算法。 人类在20世纪产生了10个著名的算法,是什么算法?本文介绍了美国科学家评出的10个算法。 一、算法一词的来源 Algos是希腊字,意思是“疼”,A1gor是拉丁字,意思是“冷却”。这两个字都不是Algorithm(算法)一词的词根,a1gorithm一词却与9世纪的阿拉伯学者al-Khwarizmi有关,他写的书《al-jabr w’al muqabalah》(代数学)演变成为现在中学的代数教科书。Ad-Khwarizmi强调求解问题的有条理的步骤。如果他能活到... 阅读全文
posted @ 2012-05-05 20:15 Tup 阅读(759) 评论(0) 推荐(0)
摘要:“Code Farmer” 从一个博主那里看到,就引用过来了。“算法是程序的灵魂,更是衡量一个程序员水平高低的最好标尺”相信这句话大家都很赞同吧。算法,多么魅力的一个字眼,多少码农为之痴狂!可是,最近有一种感觉越来越强烈:最优的算法是用数学思维设计出来的。码农们,悲剧了。。举个例子:一个整数加上100是一个完全平方数,加上168后是另一个完全平方数。请你利用计算机把这个或这些数求出来。分析:可以肯定的是(而且我百度了一下,确实如此),相当一部分人采用枚举的思路,同时还要给数设定一个上限(计算机最怕的就是看不到终点),这样会不会产生一个疑问:后面枚举不到的数中会不会还有满足条件的数呢?有可能。但 阅读全文
posted @ 2012-05-05 19:58 Tup 阅读(245) 评论(0) 推荐(0)
摘要:网上有各种直观的排序算法图形化演示(见这里和这里),我自己也曾经做过一个。今天我看到了一个我所见过的最酷的、最可爱的排序算法演示。某网站被干掉了后,大家会错过很多精彩的视频。我注册了一个土豆网的帐号,把一些精彩的视频搬过来与大家分享。http://www.tudou.com/v/htKY1-Rj9ZE/&resourceId=0_04_02_99/v.swf原地址:http://www.youtube.com/watch?v=vxENKlcs2Tw 阅读全文
posted @ 2012-04-23 14:25 Tup 阅读(252) 评论(0) 推荐(0)
摘要:道路着色问题算是比较经典的问题了,提出者主要是想设计一种程序,就是能够在一个城市里,不管身在何处,都能够沿着固定的行走方式,达到某一点,下面的图说明这个问题的本质:假设上面是一个小镇,圆圈代表某一些房子,线条代表街道,其中的街道分别用蓝色和红色标记出。不管一个人现在身在哪一个房子,如果按照“蓝—红—红”的方式循环走下去,那么这个人必定会到达黄色房子。如果这个人按照“蓝—蓝—红”的方式循环走下去,则不管在哪个地方,必定会到达绿色房子。道路着色问题就是想寻求这样的一种着色,能够让任何一个人按照指定的颜色口诀,到达同一个地方。这个地方最终有以色列的一位数学家解决。 阅读全文
posted @ 2012-04-21 09:52 Tup 阅读(386) 评论(0) 推荐(0)