算法设计的任务:对一个具体的问题,设计一种良好的计算方法,获取最佳的结果。
常用的算法有:穷举搜索法,递归法,回溯法,贪心法,分治法等。
为什么要学习算法
————为了编写出更好的程序
单从程序设计角度来说,可以将程序理解为以下公式:
程序 = 数据结构 + 算法 + 程序设计语言
即首先需要根据程序要处理的数据(包括输入和输出的数据)设计数据结构,再设计相应的算法来实现程序要达到的功能,最后才是使用某一门程序设计语言来进行编程。其中,设计数据结构和算法都是独立于程序设计语言的,程序设计语言只完成最后的编码工作。
因此可以看出,程序设计中数据结构和算法是最重要的,是编程的灵魂。
数据结构是算法实现的基础,算法总是依赖于某种数据结构来实现的。往往是在研究一种算法的时候,构建了适合于这种算法的数据结构。一种数据结构如果脱离了算法,也就没有了存在的价值。
网友评论