关于C语言的算法

刚开始学习C语言`刚学完算法`请问C语言的算法,是不是有专门的课程学习的,我觉得自已学的只是一些简单的算法,而且感觉好多看上去好简单的问题,自已居然想好久才想得出来,有时也想不出来!只是看了它给出来的答案才明白过来`!请问是否要找一些专门讲算法的书来把算法学精点,一边学习它,一边学习数据类型以后的内容?请高手指点下谢谢~
本人有志向IT行业方面发展

第1个回答  2008-07-18
算法(Algorithm)是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法。在计算机科学中,算法要用计算机算法语言描述,算法代表用计算机解一类问题的精确、有效的方法。算法+数据结构=程序,求解一个给定的可计算或可解的问题,不同的人可以编写出不同的程序,来解决同一个问题,这里存在两个问题:一是与计算方法密切相关的算法问题;二是程序设计的技术问题。算法和程序之间存在密切的关系。
算法是一组有穷的规则,它们规定了解决某一特定类型问题的一系列运算,是对解题方案的准确与完整的描述。制定一个算法,一般要经过设计、确认、分析、编码、测试、调试、计时等阶段。
对算法的学习包括五个方面的内容:① 设计算法。算法设计工作是不可能完全自动化的,应学习了解已经被实践证明是有用的一些基本的算法设计方法,这些基本的设计方法不仅适用于计算机科学,而且适用于电气工程、运筹学等领域;② 表示算法。描述算法的方法有多种形式,例如自然语言和算法语言,各自有适用的环境和特点;③确认算法。算法确认的目的是使人们确信这一算法能够正确无误地工作,即该算法具有可计算性。正确的算法用计算机算法语言描述,构成计算机程序,计算机程序在计算机上运行,得到算法运算的结果;④ 分析算法。算法分析是对一个算法需要多少计算时间和存储空间作定量的分析。分析算法可以预测这一算法适合在什么样的环境中有效地运行,对解决同一问题的不同算法的有效性作出比较;⑤ 验证算法。用计算机语言描述的算法是否可计算、有效合理,须对程序进行测试,测试程序的工作由调试和作时空分布图组成。
第2个回答  2008-07-18
学习算法的过程:

1、从计算机语言入手,假如给你任何微小步骤组成的大问题你都能用语言实现,那么第一步就走稳了。总代码量2000行
2、第1步只保证了你能实现别人给出的算法,此步需要让你自己探寻算法解决问题。多想就没问题了,通常连续想一个问题从不同角度想几个小时都是没问题的,只要不是发呆,即使没想出,也会有极大收获。
这时不能停留在想,要结合怎么想,把自己以前的逻辑思维和形象思维能力调动起来。就比如解决迷宫或者字符串问题,可以在大脑中模拟出不同的如图或树结构,进行猜测方法的选择。总代码量4000行
3、第三步是建立在1、2步基础上,这时可以先买世界算法巨著《算法导论》一章一章顺序的看,不求全懂,但求能懂的地方能自己实现并应用。看得差不多而且有点郁闷的时候,大概是3个月后,可以买本稍微容易的书《数据结构》,经过《算法导论》这样有难度的书的历练,看《数据结构》应该没多大问题,然后很快可以解决里面的知识并通过写代码的方式来吸收,再结合各种问题去解决,当然是在网络去找或者书中有应用。总代码量7000行
4、以上几个过程后,并在有一定的数学基础后,可以尝试Peking大学的OJ题,能做完其中的500道基础题,你的能力提升就相当大。本回答被提问者采纳
第3个回答  2008-07-18
如果不打算做软件开发工作,只需要了解一下就可以了。毕竟很多的算法都是成熟的,不需要自己再花时间和精力去研究。

如果自己比较感兴趣,可以看看 数据结构 方面的书.那里有比较详细的有关算法的内容。
第4个回答  2008-07-18
算法是一门特殊课程,有的专业算法书籍甚至比《c语言程序设计》这种教材书籍厚好几倍!
没必要特别地注意,有些算法很典型,体会其中的思想,求解的过程,逐渐往后学习,你自然也理解的。
相似回答