SPFA和Dijkstra算法的一些误解和迷惑的解释

十一月 4th, 2010 107 次阅读 0 条评论

 

     许多同学都知道Dij算法的适用条件是图中不存在负权边,注意边和回路的区别 。而SPFA可以处理图中存在负权边的情况,但是前提是不存在负权回路。关于为什么Dij不能处理图中存在负权边的情况,而SPFA可以处理,却是分不清的。

     我们通常认为只要图中存在负权边,就可以用SPFA处理。但是却忽视了SPFA处理负权边的前提是不存在负权回路。在完整的SPFA中,会加入一个判断负权回路是否存在的操作,当且仅当负权回路不存在时,算法才能继续进行下去。同时注意,并不是Dij不能处理负权边存在的图,只是求出来的解按照最短路径这个概念的严谨性来说——是非正确的而已。有些概念为了让新手易用好记忆,就简化了。结果也就有了我的这篇文章……。当SPFA在进行的过程中判断出存在负权回路时,程序就会退出,并且提示图错误,无法求出最短路径当图中存在负权边时,我们在无法提前知道是否因为这几条负权边的存在,图中会存在负权回路的情况下,我们就用SPFA算法进行操作。 

     所以,我们就默认为当图中不存在负权边时,我们用Dijksta算法。否则用SPFA算法。现在解决了因为负权边和负权回路的不分辨性错误而造成的理解疑惑。另外SPFA的判断回路的方法是——因为,SPFA普遍依靠队列实现,现在通常用的方法是判断顶点进入队列的次数(还可以是边的次数)——当一个点进入队列的次数超过图中顶点数V时,则此图中存在负权回路(我刚开始还以为次数是2……,弱……)。因为在一个回路中,最多存在V个顶点。

 

 

参考资料:《算法导论》 

 

分类: 标签: 图论 

还有一个世界,你不曾触及

十一月 4th, 2010 36 次阅读 0 条评论

 

在人的意识中可以认为存在两种世界:感性世界,理性世界。 

感性又可分为内感和外感,外感即感官的刺激。内感可笼统的认为是心理感情。人应该把自己放在一个更高的层面上。这个层面就是理性层面。用理性统筹自己的的感性行为。我只能说感性行为是种很低级的行为,他完全是兽性的。人和动物最大的区别,就是具有理性。这个人人都懂,但是在现实生活中,大多数人都是生活在感性世界里的。生活在理智世界里的人都是智者,高雅之士。 

但我想,既然本身就作为一个人,就应该人人都生存在理性世界里。超越出感性这个层面。只是每个人的认识不同而已。在感性世界里,人们会有很强的欲求感。但仔细发省后其实回发现:欲望是永远无法满足的,而一个人的一生却有着无穷多的欲望。面对一种得不到的现实,难道不会痛苦吗?一次考试的失利都会让你心情低落好几天,更何况生活中的其他种种呢?你是愿意悲伤,痛苦经常萦绕在你身边吗?想想那些痛苦时你的心境是怎样的苦楚。让自己的心过得轻松,谁都渴求。但我们总是要把自己丢在这个循环里。因为我们看不透,我们从没有想过脱离出这个层面。 

我们很多时候都是庸人自扰,不但摧残自己的心智,还在侵犯着别人。我们在感性世界的大多行为,都是自私的。你也许说爱难道也是吗?我承认爱是一种神秘的东西。但它毕竟还是感性层面的东西。你爱一个人,就会冷落他人,甚至是父母。你妥协的爱一个人,甚至会流失自我。你说只要他幸福就行了。但是他幸福,不就是在满足你自己吗?你太害怕自己的欲望得不倒满足了,以至于把自己都丢失了。这样的爱会产生自私。真正的爱是博爱的,因为爱的初意就是为了让人类联系的更紧密。越是自私的爱,就越是良好的感情破裂催化剂。越是无私的,淡然的爱,才能维持的更久远。这里的无私,并不是无私的奉献,还是无私的不要求。但爱终究还是一种感性行为,低级的,兽性的行为。一个人,因为欲求玩,他会玩个通宵达旦,甚至三五长天,我们会说这个人是没有理智的,自制力差的。而爱,也是这样,强烈的爱,因控制不住,会忘记了他人。这也是理性丧失的体现。当你的世界只存在你和你的爱人,你已经脱离了人类这个“共同体”(我实在找不到一个平实的词语描述这个哲学概念)如果人类的爱是让我们把人类共同体分的七零八碎,那我想一个自相斗争的种群不配站在生物的最顶层。伟大是要承担责任的啊! 

开启你的理性世界吧,现在的教育很垃圾,很龌龊,他完全是在造工具,他完全没有教给你怎么去做一个正确,真正,健全的人!所以,出现了伟人,必定是脱离这个层面的人。如果你了解他们,你会发现他们的独立意志很强!什么是独立意志,我只能大概的勾勒下这个轮廓。他们不会人云亦云,他们有自己的见解。他们不会盲目跟着潮流走,他们有自己的主张。他们是会思考的行者,他们最突出的一点是思考。而跟着走的那些人,他们只是木讷的机器而已。而人是能造出机器的,那么这些人存在还有什么意义。所以注定他们终身碌碌,却永远没什么成就而已。人活着,是个心感受的历程。当他们老去的时候,他们实在还是个贫穷的人,贫穷心的感受。他们没有多少快乐的! 

理性世界是个何其宽广,何其美妙的世界啊,你越是在里面游畅,你越会爱上这里。因为这是个高级的世界。一件物品,一个有3个功能,另一个5个功能,人一般会买5个功能的。理性世界是个高于感性世界的世界。一览众山小啊。人厌倦一个东西的方法就是太了解这个东西了。 

理性世界给一个人的东西太多了,也太宝贵了。只有活在理性世界的人才可以算是一个真正的人。健全的人格,崇高的信仰,优雅的品性。脱俗的行为。更重要的是独立意志,体会自由。你无法明白自由是个多么宝贵的东西。你也别用感性世界的自由来理解这里的自由,这个神圣,纯洁的概念,已完全被庸人们低俗化了。 

 

 

分类: 标签: 伦理学