扫一扫 免费领取试听课
苏州精选哪家信息学奥赛NOIP培训机构比较好
苏州精选哪家信息学奥赛NOIP培训机构比较好--推荐苏州童程童美少儿编程机器人培训学校

信息学奥赛--基础算法备考重点
1算法复杂度
算法复杂度是用来衡量算法性能的重要指标,也是信息学竞赛要求的硬性指标。
算法复杂度主要包括时间复杂度和空间复杂度。我们考虑最多的是时间复杂度。
2排序算法
排序算法是我们很早就接触到的算法,这一期我们系统讲解了所有的排序算法。
1、排序算法的评价指标
排序算法有四个评价指标,除了上面的两个复杂度,还包括稳定性和适用性。
2、排序算法
我们学习了如下排序算法:
1、插入排序:直接插入排序、折半插入排序、希尔排序
2、交换排序:冒泡排序、快速排序
3、选择排序:简单选择排序、堆排序
4、归并排序
5、基数排序
3、sort函数
一般来说,在竞赛中,我们直接使用sort函数即可,重点是排序的策略的设置。
3枚举算法
枚举算法是最基本的算法,就是将所有情况列举出来。
枚举算法的优点在于,枚举算法思想简单,并且能遍历所有情况,会找到全局最优解等。不会出现遗漏。
但缺点在于,要遍历所有情况,时间复杂度就会很高。
在竞赛中,如果大家找不到更好地方案,那就是用枚举算法,尽可能获得更高的分数。
4贪心算法
贪心算法追求的是当前最优,因为不考虑后效性,所以思想比较简单,也容易实现。但是贪心算法在一些问题中难以获得全局最优解。
贪心算法重点是贪心策略的选择,有时候选择好的贪心策略能够得到最优解或者能够让算法性能更高。
5分治算法
分治算法强调的是三个部分:
分:是指通过递归不断分解直到子问题可解。
治:是指可以通过某种算法解决子问题。
并:是指将所有子问题的解合并。
并且分治算法要满足如下几方面的原则:
1、问题必须是可分解的;
2、分解得到的子问题应该是同类型问题;
3、子问题必须相互独立;
4、子问题可以继续分解为更小的子问题。(非强制)
5、最小子问题必须是可解的
6、子问题的解能合并为父问题的解,并最终合并为该问题的解。
6高精度算法
上一期课,我们最后学习了高精度算法。高精度算法是上一期课中,算法最难的。不过高精度比较固定,适用范围也较小。
高精度要考虑这么几个问题:
怎么存储:使用数组输出,然后转化为高精度
怎么输出:按位输出,设置输出函数
怎么运算:要自己写对应的运算算法
尊重原创文章,转载请注明出处与链接:http://news.peixun360.com/968695/ 违者必究!
以上就是 苏州童程童美少儿编程机器人培训学校
小编为您整理 苏州精选哪家信息学奥赛NOIP培训机构比较好 的全部内容。