ACM 算法竞赛 八大基础算法 模拟法 字符串 递归分治 排序 枚举 贪心 递推
来源:互联网 发布:windows 初始化socket 编辑:程序博客网 时间:2024/06/10 14:45
查阅了一些资料,对几个基础算法做一个思路上的汇总。
1.模拟法:
将自然的过程或者语言直白的程序化,比如题目中的求解过程,我们直接程序化模拟求解。
2.字符串处理:
常用的字符串操作,KMP字符串匹配算法(用于复杂度高,需要优化时)。
3.递归:
古之欲明明德于天下者,先治其国;欲治其国者,先齐其家;欲齐其家者,先修其身;欲修其身者,先正其心;欲正其心者,先诚其意;欲诚其意者,先致其知,致知在格物。物格而后知至,知至而后意诚,意诚而后心正,心正而后身修,身修而后家齐,家齐而后国治,国治而后天下平。
当栈底不可见的时候,我们更适合用递归,当然递归也可以转化为 数组或变量和循环,但大多数情况下没有这个必要。
很多简单的递归我们完全可以利用循环来解决。比如很浅的调用之前的数据,且数据量固定。
和循环相比是两种思考的方向。
当栈底不可见的时候,我们更适合用递归,当然递归也可以转化为 数组或变量和循环,但大多数情况下没有这个必要。
很多简单的递归我们完全可以利用循环来解决。比如很浅的调用之前的数据,且数据量固定。
和循环相比是两种思考的方向。
4.分治法:
将大的问题转化为很多小问题来解决,比如我要给8个数排序,我可以先给两组4个数排序,给4个数排序可以先给两组两个数排序,这样就讲大问题化成了小问题。5.排序:
熟练的掌握sort()的用法。sort(arr,arr+len,cmp),了解各大排序法的思想。6.枚举法:
当可能的结果不多时,我们可以利用模拟法求解,然后利用数组保存,直接利用枚举法进行匹配。7.贪心算法:
选择目前的最优解,还要选取合适的策略,此处的最优解可以累积成为最后的最优解。对于一些处理过的值,可以进行标记和保存,便于我们从中选择最优解,并在最优解的基础上更加接近最后的最优解。8.递推法:
分为顺推和逆推,根据相对应的关系和值进行递推,比如斐波那契数列就是顺推。顺推有点像模拟。 2 0
- ACM 算法竞赛 八大基础算法 模拟法 字符串 递归分治 排序 枚举 贪心 递推
- 五大基础算法(枚举、递归、分治、贪心、模拟)
- 算法思维:五大基础算法(枚举、递归、分治、贪心、模拟)
- acm算法基础2 递归,分治和贪心
- 分治、贪心、递推算法的基本思路
- 分治法 归并排序(递归算法)
- 递归,递推,分治,贪心,动态规划......
- <算法竞赛入门经典> 第8章 贪心+递归+分治总结
- java八大基础排序算法
- 【java基础】八大排序算法
- 【java基础】八大排序算法
- 分治+递归:归并排序的递归算法
- NOIP-贪心,递推,枚举,模拟
- 算法其实很有趣之——穷举法、递推、递归、分治、概率(算法需有通用性)
- [算法]--八大排序算法
- 基础算法--分治法
- C++ 堆排序算法 分治法(递归)
- C++ 快速排序算法 分治法(递归)
- json转换为各种数据对象格式
- XSS探究:对可利用点进行关联的奇妙旅程
- 垃圾收集器与内存分配策略
- 网页的重排(reflow)与重绘(repaint)
- Key-Value-Coding(KVC)
- ACM 算法竞赛 八大基础算法 模拟法 字符串 递归分治 排序 枚举 贪心 递推
- nginx+redis 实现 jsp页面缓存,提升系统吞吐率
- 常用iOS第三方库以及XCode插件介绍
- sqlsever数据库springmvc mybatis bootstrap html5
- git checkout
- ng-click不触发的原因大全
- 说到加载图片,我们可以谈些什么
- USACO 1.1 gift1
- JAVA List 并集, 交集, 差集