NOIP常用算法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NOIP常用算法
NOIP是一种全球性的竞赛,考试内容涉及编程算法、数据结构、数
学建模等,其中算法题目占大多数。
这些算法可以根据其特点分为两类:
低效算法和高效算法。
一、低效算法
1、暴力解法
暴力解法是最简单的算法,就是直接枚举所有情况,找出最优解。
它
的运行时间是指数级别的,不推荐使用。
2、贪心算法
贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即
最有利)的选择,从而希望导致结果是最好或最优的算法。
贪心算法的时
间复杂度一般来说为O(n)。
3、分治法
分治法是将一个规模较大的问题分解为若干个规模较小的子问题,分
别解决,然后将子问题的解结合起来构成原问题的解。
它主要依赖于把一
个复杂的问题分解成两个或更多的相同或相似的子问题,然后递归求解,
分治法的时间复杂度可以达到O(nlogn)。
4、动态规划
动态规划是一种利用最优子结构性质解决复杂最优化问题的算法,通
过分解问题,将原问题转换为若干子问题,然后按照一些顺序求解子问题,利用子问题的解得到原问题的解,它的时间复杂度通常是O(n2)。
二、高效算法
1、算法
算法是指在一定的空间内,按照一定顺序最优解。