以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 科研生涯 』   (http://bbs.xml.org.cn/list.asp?boardid=70)
----  [原创]算法复杂度  (http://bbs.xml.org.cn/dispbbs.asp?boardid=70&rootid=&id=87332)


--  作者:nau
--  发布时间:10/27/2010 9:51:00 PM

--  [原创]算法复杂度
一个算法的评价主要从时间复杂度和空间复杂度来考虑。

算法的时间复杂度是指执行算法所需要的时间。对于人脑来说,时间复杂度技术学习一篇文章、一门学科、一项技术所需的时间。

一篇文章的用词不能生僻晦涩难懂,应尽量选择一些简单的、熟悉的词语、与人们日常生活联系密切的知识、方法和原理进行讲解。人脑学习的时间复杂度就会降低,可以尽快的掌握文章的精髓、学到有用的知识和方法。一门学科技术教材水平也体现了时间复杂度,如果教材编排合理、循序渐进、由浅入深,有利于学生学习,迅速掌握这门学科技术,降低时间复杂度。以上是对作者的要求,学习是双向的事情,书写得再好,读者自己不提高也无济于事。对一个文盲来说,任何一本书的时间复杂度都很高。要降低文章学习的时间复杂度,读者本身需要扩大知识面,提高思维运算能力、理解能力。

算法的空间复杂度是指算法需要消耗的内存空间。对于人脑来说,空间复杂度就是需要消耗的脑临时记忆空间。
理论上,一个人各类记忆的总和,脑容量是无限大的。从小到大一直在学习,只要有时间、有精力、有意识、有耐力,可以存储无穷无尽的知识和方法。
但脑临时记忆空间是有区别的,有的人多一些,有的人少一些。临时记忆空间就相当于电脑的内存,表示可以被利用的知识和方法的总和。

人在思考、解决一个问题的时候,需要收集各种资料、考虑各种因素,进行准备工作,相当于调入脑的内存中。人脑在一个阶段只能对某一些知识方法比较熟悉,让这部分知识和方法在大脑中活跃起来,参与大脑处理运算,参与解决问题的过程。这部分对解决这个问题真正有帮助的那些知识和方法,占用脑内存空间。脑内存空间越大,装入的“活知识和方法”越多,考虑的因素越多,使用的公式原理越多,知识面越广,涉及的学科领域越多,越有利于计算出、设想出、构造出一个最佳的方案,越能高效地解决问题。

人脑内存空间是有限的,因此一个算法、策略的空间复杂度也是需要考虑的。涉及的知识和方法、原理不能杂乱、粗糙,要精挑细选出与这个问题最相关的部分,去除那些毫不相干的部分,避免占用人脑宝贵的内存空间。人脑内存空间不是固定不变的,可以通过训练不断增加脑内存空间。

一个人的养生水平、健康状况、心理状态很重要,五脏六腑健康功能正常,才能给大脑提供足够的营养,才能聚精会神,把大脑调整到最佳的学习状态、工作状态,扩大脑内存空间。同时也提高了思维速度,大幅度缩短学习一篇文章、学科或技术的时间。虽然文章本身的时间复杂度和空间复杂度没有变化,但是人脑硬件和软件系统升级后,文章的时间复杂度和空间复杂度就相对降低了,什么文章都能很快看懂,即使理论再高深、技术性再高、专业性再强也不感到吃力了。

软件养生学研究算法的时间复杂度和空间复杂度,一方面要求作者降低文章的时间复杂度和空间复杂度,另一方面要求读者提高自己大脑的运算速度和内存容量,开发人脑潜能,最终目标是促进个人全面发展,促进人类社会早日进入大同世界。


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
45.044ms