袁家小少爷
袁家小少爷
全部文章
算法
Idea(1)
Java基础(1)
Maven(2)
Mybatis(2)
Spring(2)
SpringBoot(1)
SpringMVC(1)
数据库(1)
未归档(26)
经验分享(2)
记Java开发的坑点(2)
归档
标签
去牛客网
登录
/
注册
袁家小少爷的博客
全部文章
/ 算法
(共27篇)
《算法设计与分析》--合并排序随笔
合并排序:合并排序其实也叫做归并排序,只是叫法不一样罢了,本质还是使用分治的思想实现对n个元素进行排序的算法,其基本思想是:将待排序的元素分解为大致相同的两个子数组,分别对两个子集合进行排序,最终将排好序的字数组进行合并,最终达到整个数组有序的过程。 程序代码如下: //递归拆分排序 publ...
归并排序
合并排序
算法设计与分析
2019-07-03
0
639
《算法设计与分析》--棋盘覆盖问题随笔
棋盘覆盖问题概念:在一个2^k * 2^k个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。显然,特殊方格在棋盘上面出现的位置有4的k次方种可能。 棋盘覆盖问题是指,要用4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨...
棋盘覆盖
2019-07-03
0
651
《算法设计与分析》--矩阵乘法随笔
矩阵乘法:矩阵乘法是线性代数中最常见的问题,在数值计算中应用的非常的广泛,设A和B为两个2个n*n的矩阵,它们的乘积同样是n*n的矩阵。并且矩阵乘法使用的还是大整数的那种分治法的思想。 矩阵相乘最重要的方法是一般矩阵乘积。它只有在第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才...
矩阵乘法
2019-07-03
0
1018
《算法设计与分析》--大整数随笔
大整数算法:使用分治法的思想,就是把一些大的位数的整数进行一定程度的拆分,然后分别求解,最后合并为原问题的乘积。 这里我们假设有两个大整数X、Y,分别设X=1234、Y=5678。现在要求X*Y的乘积,那我们可以采用分治的算法,将X、Y分别拆分为A与B、C与D,如下图: (1) 首先将X...
2019-07-03
0
441
《算法设计与分析》--分治法的理解
就个人而言,本身我觉得这个问题都属于人们经过了大量的经验所总结出来的,所以其实我们在分解子问题的时候最好把问题的规模设计为大小都差不多的,通俗的来说:就是把一个问题分解成为大小相同的k个子问题是比较不错的。(事实上这种使子问题大致相同的做法是一种自平衡子问题的思想)。 定义...
二分搜索
查找算法
分治法
2019-07-03
0
672
《算法设计与分析》--递归算法的理解
其实递归算法就是一个方法不断的调用自己的问题,是一种不断直接或者间接的调用自己的一种思想。 其实我们在使用递归的时候需要注意到一个问题就是栈的溢出,因为本身递归算法要是自己不控制好退出条件的话很容易出现栈的溢出。 递归本身包含很重要的两个部分: 定义出口:这个递归出口将解决什么...
递归
循环
2019-07-03
1
584
《算法设计与分析》--时间复杂度和空间复杂度
1、时间复杂度 (1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费...
时间复杂度
空间复杂度
2019-07-02
0
647
首页
上一页
1
2
3
下一页
末页