算法作为计算机科学的核心和基石,对于计算机技术的发展和应用具有重要意义。我们作为计算机科学与技术专业的学生,学习算法是非常重要的,只有具备良好的算法基础才能成为训练有素的软件人才。随着计算机应用的日益普及, 各个应用领域的研究和技术人员都在使用计算机求解他们各自专业领域的问题, 他们需要设计算法, 编写程序, 开发应用软件, 所以学习算法对于越来越多的人来说变得十分必要。我们大学生更是要理解掌握算法。
一、算法的特点
(1)有穷性
(2)确定性
(3)有效性
(4)输入和输出
算法反映解决问题的步骤,不同的问题需要不同的算法来解决,同一问题也可能有不同的解决方法,但是必须具有以上特性。
二、解决算法问题有以下描述方法
(一)用自然语言表示
(二)用传统流程图表示
(三)用伪码表示
三、解决问题常用的算法
(一)解析法:通过分析问题中各个要素间的关系,抽取出数学模型,得到解决问题所需的表达式,然后设计程序求解问题的方法。
(二)穷举法:用来解决"是否存在”和“有多少可能”等类型的问题,基本思想是把要解决的问题的所有可能情况一个不漏地穷举检查,从中得到符合要求的答案。
(三)递归法:递归算法就是一种直接或者间接地调用自身的算法。
(四)查找算法:查找就是在一组对象中搜
索某一目标,确定对象中有没有这一目标元素,若有,则标出它的位置;若没有,则给出没有的信息。顺序查找,对半查找。对半查找的实质是
在一个有限且有序的对象中,通过每次缩减一半
查找范围而达到迅速目标的一个有效算法。
四、算法问题求解的过程
(一)先分析问题。
(二)用自然语言描述计算方法。
(三)将算法编写成计算机程序。
(四)运行、调试程序、检验结果。
(五)优化和改进。
(六)问题得到解决。
(七)应用和扩展。
五、总结
要想学好计算机科学与技术专业,并在未来找到好的工作,必须知道来自不同计算领域的重要算法,增强实践能力,要学会自己设计新的算法,确认其正确性和其效率。