经典算法
黯叶
这个作者很懒,什么都没留下…
展开
-
算法(Java随笔)—穷举算法
穷举算法(Exhaustive Attack method)——是最简单的一种算法,对一个问题的求解,穷尽每一种可能;算法效率不高,但使用于一些没有规律的场合。穷举算法的基本思想就是从所有可能的情况中搜索正确的答案,使用循环语句和条件判断语句逐步验证每一种可能的正确性,从而得到正确的答案。概述(来源百度):穷举法是一种针对于密码的破译方法。这种方法很像数学上的“完全归纳法”并在密码破译...原创 2018-09-25 23:54:13 · 1958 阅读 · 0 评论 -
算法(Java随笔)—递推&递归求解斐波拉契数列
递推算法——理性思维模式的代表,其原理是根据已有的数据和关系,逐步推导而得到结果。算法的执行过程:根据已知结果和关系,求解中间结果。 判定是否达到要求,未达到则继续重复第一步,直到寻找到正确答案。递归算法——在程序中不断地反复调用自身来达到求解问题的方法,重点是调用自身。编写递归方法时,必须使用if语句强制方法在未执行递归调用之前返回,如果不这样做,它将永远不会返回(这很重要)。...原创 2018-09-26 21:54:05 · 1014 阅读 · 0 评论 -
算法(Java随笔)—分治算法&概率算法
分治算法——基本思想是将一个计算复杂的问题分为规模较小,计算简单的小问题求解,然后综合所有的小问题,得到最终的答案,程序中可以使用递归算法来进行求解。分治算法问题实例:假币问题——一个袋子里有30个硬币,其中一个是假币,并且假币和真币一模一样,肉眼难辨,目前只知道真币比假币重一点,请问怎么区分出假币。分析:将问题分为小问题求解将30个硬币分为相等两份,称重比较 将重量较小的那一份再次...原创 2018-09-28 00:15:17 · 2252 阅读 · 1 评论 -
排列组合(Java随笔)—全排列
全排列:从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。公式:全排列数f(n)=n!(定义0!=1)(也可表示为A(n,n)),如1,2,3三个元素的全排列为:123、132、213、231、312、321代码实现:import java.util.ArrayList;public cla...原创 2018-11-03 13:23:27 · 1815 阅读 · 0 评论