有趣的算法世界---综述

原创 2003年06月22日 11:29:00

                                                                一万年太久
                                                                      只争朝夕
                                                                      ----首题

 

    算法的世界,是个优雅的世界。人常说,数学是思维的体操;数学之美,是智慧之美。算法与之有同功之妙。数学有丰实的血肉肌体,又有抽象的思维灵魂:

    e.g.1  (1)  自然数:0,1,2,4,5……,n,n+1,……
                自然数运算:+    定义为 1=0+1,2=1+1,3=2+1,4=3+1,……

           (2)  加法群:<A,+>    (群相关定义暂略,后面用到是再简述)

    而算法,不仅有数学的渊源;她更是计算机世界的核心之一,有着与计算机相关的生生气息:

    e.g.2  求自然数前n项和

           输入参数:n,若合法
           (1) sum:=0;
           (2) For i:=0 To n-1 Do
                  sum:=sum+i;
           (3) End
           输出结果:sum

    
    算法是个以视效率为生命的人;她是精确与速度的复合体,常在矛盾中忍受煎熬,却又在时间与空间的脉搏里取得一点一点的进步:

    ……O(2^n),……,O(n^3),O(n^2),O(n*log(n)),O(log(n)),O(1)
 
    算法是个美丽而骄傲的人;人人都青睐她,她却昂起高高的额头……虽然如此,无数的人仍然都受到女神的幸临。人人也都知道,这条道路,只有勤奋的人才可能受到女神的信赖……所以,我们总能看到,一代又一代深入算法世界的开拓者,与大师……
 
    我很高兴,将和您共同走一程,来到她的领域……
    毫无疑问,我是她的追随者;凭着胸中的激情,请允许我来做一次向导,咱们缓缓的,领略她的奇特魅力。或许,我的心底,常常会流漏出一丝的无奈,在算法的世界里,总是充斥着矛盾,充斥着不可理解,但仍然的,更多的火焰将会蓬勃而出,如果您终于也情不自禁了,请也与我一起燃烧……

    为了使您可以和她更好的交流,我将每次在最后留下个有趣的算法题目,供您探讨。当然,作为向导,我不能不加入进来,分享我部分的经验;但更多的时候,我将把这末尾的题目,寄希望于您……

    本帖的题目:

    SAT问题

    逻辑变量,如x0,是只能取TRUE和FALSE的变量,而对于逻辑变量的运算,本题目中用到:
    非运算(-):-(TRUE)=FALSE,-(FALSE)=TRUE
    析取运算(V):(TRUE)V(TRUE)=TRUE,(FALSE)V(TRUE)=(TRUE)V(FALSE)=TRUE,(FALSE)V(FALSE)=FALSE
    子句的定义为:逻辑变量(或其非)经过有限次析取运算而得到的串表达式,如:

    C0 : -x0 V -x8 V x13 V x15 V -x18
    C1 : -x1 V -x3 V x5 V -x6 V x7 V x10 V -x13
    C2 : -x5 V x10 V x11 V -x12

    问题:是否可以判定一个 子句的集合,能给出逻辑变量的一组值,使得该子句集的所有子句都取值为TRUE ?

 

一些有趣的算法

本文专门记录一些有趣的算法。计算二进制数中1的个数这道题目的一个解决方案是通过%2来计算,这个比较简单。现在推荐一个快速算法,利用n=n&(n-1);来计算,可以这么解释这个运算的作用:一个数减1以后...
  • linshijun33
  • linshijun33
  • 2016年08月04日 23:54
  • 1027

[算法]有趣算法合辑[11-20]

题目11:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质...
  • wzhiu
  • wzhiu
  • 2014年06月16日 17:16
  • 1256

有趣的C++算法_(:з」∠)_

摘要在刷算法题的过程中,被一些大神的想法折服,方知天外有天,山外有山_(:з」∠)_...
  • LeYOUNGER
  • LeYOUNGER
  • 2017年04月08日 14:54
  • 482

[算法]有趣算法合辑[1-10]

最近在网上看到一些不错的C语音算法。枚举一些,供自己学习使用。有些有意思的算法会附上C#的不同实现。 题目1:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分...
  • wzhiu
  • wzhiu
  • 2014年06月16日 16:41
  • 1600

机器视觉中的跟踪算法综述

图像跟踪是一个不断发展的研究方向,新的方法不断产生,再加上其它学科的方法的引入,因此对于图像跟踪算法的分类没有确定的标准。对于所有的跟踪算法,需要解决两个关键问题:目标建模和目标定位[35]。以下根据...
  • hqh45
  • hqh45
  • 2014年04月04日 17:11
  • 1496

SIFT算法综述

SIFT 算法: 此篇博客主要讲sift的原理及为什么要这样做,不具体介绍细节,所以需要对sift算法有个大致了解,可以参考: http://blog.csdn.net/zddblog/artic...
  • qq_26836575
  • qq_26836575
  • 2017年08月08日 15:05
  • 89

改变世界的9大算法--PageRank

“PageRank”一语双关:既是网页排名的算法,也是该方法的主要发明者 拉里 ▪ 佩奇. 首先来了解一下”超链接把戏“。超链接,在1945年就已经出现了,是搜索引擎用来排名的重要工具之一,而且是谷...
  • L_rollback
  • L_rollback
  • 2016年10月09日 11:57
  • 414

灰度世界算法(Gray World Algorithm)

人的视觉系统具有颜色恒常性,能从变化的光照环境和成像条件下获取物体表面颜色的不变特性,但成像设备不具有这样的调节功能, 不同的光照环境会导致采集的图像颜色与真实颜色存在一定程度的偏差,需要选择合适的颜...
  • u010839382
  • u010839382
  • 2014年12月07日 18:40
  • 5364

【AI】用户推荐算法综述

用户推荐算法综述。
  • guguant
  • guguant
  • 2016年12月29日 22:19
  • 1164

数据挖掘中的聚类算法综述

聚合聚类的策略是先将每个对象各自作为一个原子聚类,然后对这些原子聚类逐层进行聚合,直至满足一定的终止条件;后者则与前者相反,它先将所有的对象都看成一个聚类,然后将其不断分解直至满足终止条件。 分割聚类...
  • qq_34884527
  • qq_34884527
  • 2016年07月09日 16:05
  • 275
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:有趣的算法世界---综述
举报原因:
原因补充:

(最多只允许输入30个字)