在数学或计算机科学中算法是解决问题的特定方法的一系列步骤,类似于烹饪时的食谱说明。该词来源于阿尔·赫瓦里兹米,波斯数学家,公元9世纪在巴格达任图书管理员[1].
介绍
算法由解决问题的步骤组成。当在计算机程序中编码时,算法对数据值进行操作,最好是保持一致的数据数据结构因此,算法就是配方,而数据结构则是配方设计要操作的存储良好的成分。
编程语言Pascal的发明者Nicklaus Wirth将他的一本书命名为“算法+数据结构=程序”(国际标准书号0130224189)指出算法和数据结构的互补性,以及它们对计算的中心作用。
算法通常独立于编程语言来表示,通常是用一个简短的、非正式的命令列表(称为伪代码)来表示,或者以流程图的形式来表示。
计算机编程中使用的不同类别算法的示例包括:
- 边界限制
- 压缩
- 转换
- 加密
- 傅立叶变换
- 几何
- 图解的
- 数字
- 概率
- 搜索
- 排序
- 文本字符串
基本算法设计
有几种通用的算法设计方法。一些最常见的是
- 分而治之策略。这些通常会产生以下算法复杂性或更好。
- 这个贪婪方法.
- 动态编程.
一些众所周知的算法
工具书类