递归和分治策略的算法总结
来源:互联网 发布:社会主义价值观 知乎 编辑:程序博客网 时间:2024/05/23 19:16
前面说几句看到一篇关于企业需要什么人才的文章,里面写的是:一切都是关于选择,“你想过普通的生活,就会遇到普通的挫折。你想过上最好的生活,就一定会遇上最强的伤害。”“如果你受不了,想过普通人的生活,可以尝试跳到其他行业。这并不是什么丢人的事情。”
言归正传
1.二分搜索技术
2.大整数乘法
3.棋盘覆盖
4.合并排序和快速排序
5.循环赛日程表
都有用到递归的思想:
排列问题的思想就是拿出一个和其他进行排列,一共有N个元素就是分别拿出N个,和其他的N-1个排列。
整数划分问题思想就是q(m,n)考虑四种情况,m=1和n=1的情况;再就是n<m;然后就是n=m;最后就是n>m>1;
Hanoi塔问题:两次递归;主要是需要利用塔座C作为辅助塔座。此时要设法将n-1个较小的圆盘依照移动规则从塔座a移至塔座c上。
二分搜索技术的思想就是分治策略,充分利用元素间的次序关系,将N个元素分成个数大致相同的两半。
大整数的乘法思想其实是将乘法的次数变为三次了,以前需要的是四次,现在专门用了一个算法计算出两个数的和,之后就减少了一次乘法,然后算法复杂度就高了!
棋盘覆盖的思想就是递归;用一个二维整型数组Board表示棋盘。Board[0][0]是棋盘的左下角方格,title是算法中的一个全局变量,用来表示L型骨牌的编号,其初始值为0.在棋盘覆盖问题中,要用4种不同形态的L型骨牌覆盖一个给定的特殊棋盘上除特殊方格以外的所有方格;
合并排序的思想就是分治策略,将待排序元素分成大小大致相同的两个子集和,分别对两个子集和进行排序,最终将排序好的子集和合并成所要求的排好序的集合。
快速排序的思想是基于分治策略的另一个排序算法,其基本思想是,对于输入的子数组a[p:r],按以下三个步骤进行排序。分解;递归求解;合并;
循环赛日程表,也是分治思想,按照要求可将比赛日程表设计成有n行和n-1列的表。在表中第i行和第j列处填入第i个选手在第j天所遇到的选手。
- 递归和分治策略的算法总结
- 递归和分治策略
- 递归和分治策略
- 算法--递归与分治策略
- 算法思想之分治递归策略
- 算法复习-递归与分治策略
- 算法复习2:递归与分治策略
- 【学习笔记】递归和分治策略
- 递归和分治策略之排列问题
- 递归分析和分治算法
- 函数的递归调用与分治策略
- 函数的递归调用与分治策略
- 全排列的递归实现--分治策略
- 【分治策略】归并排序算法总结
- 递归与分治策略
- 递归与分治策略
- 递归与分治策略
- 递归与分治策略
- Guake ── linux下完美帅气的终端
- Android监听应用程序安装和卸载
- IOS如何使用第三方字体
- 现代计算机架构常见时延(摘自计算机系统结构--量化研究方法)
- Gray Hat --Learning Python Chapter 2
- 递归和分治策略的算法总结
- 准备写CSDN
- MongoDB和Redis的CRUD (Create,Read,Update,Delete)
- 递归法
- 在Java中怎样用split分割字符串
- 数值的整数次方
- elipse不显示代码行数
- JS复选框的全选和反选
- 穷举法