【算法】算法概念介绍

算法(Algorithm)是程序设计的灵魂,它是用系统的方法描述解决问题的策略机制。一个正确的算法满足以下性质:

  • 输入:有零个或多个输入。
  • 输出:至少有一个输出。
  • 确定性:组成算法的每条指令清晰,无歧义。
  • 有限性:一个算法在执行有限步骤后必须结束,即计算步骤是有限的。

描述算法可以有多种方式,如自然语言、流程图、伪代码、程序设计语言。 算法设计就是针对具体的问题,设计出良好的算法,使计算机能够解决该问题。 同一个问题可以采用不同的算法实现,不同的算法可能时间、空间并不相同, 一个算法的优劣可以用空间复杂度与时间复杂度来衡量。

本篇将以讲述设计中经常采用的排序算法、查找算法、迭代算法、递推算法、递归算法、枚举算法、贪心算法、 回溯算法、矩阵算法等,如下所示:

  • 排序算法:按照关键字的大小使元素递增或递减排列
  • 查找算法:分为线性查找和非线性查找
  • 递推算法:分为顺推法和逆推法
  • 迭代算法:分为精确迭代和近似迭代
  • 递归算法:自己调用自己,采用分治策略,将问题规模减小,各个击破
  • 枚举算法:从众多的候选解中找出候选答案,逐个验证
  • 贪心算法:不求最优,但求找到满意的解
  • 回溯算法:试探法,根据当前的情况决定向前试探扩大问题规模还是回溯返回上一步
  • 矩阵算法:利用元素值和下标之间的关系
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值