在数学与计算机科学中,递归是指在函数的定义中使用函数自身的方法。递归算法是一种直接或者间接地调用自身算法的过程。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。递归算法解决问题的特点:(1) 递归就是在过程或函数里调用自身。(2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。(3) 递归算法解题通常显得很简洁,但递归算法解题的运行效率
原创 2015-08-14 17:06:08
566阅读
十大经典排序算法(动图演示)0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比...
转载 2019-01-31 21:59:00
274阅读
1点赞
雪花算法是一种生成分布式全局唯一ID的经典算法 导包 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.8</version> </d
原创 3月前
99阅读
#in
一、    问题陈述假设停在铁路调度站入口处的车厢序列的编号一次为1,2,3,4。设
原创 4月前
123阅读
背景记得上大学期间试着实现一个排列算法,可惜当时没有写出来,只是硬编码了几层循环,今天用递归终于写出来了。
原创 2021-07-21 15:23:54
307阅读
KMP算法 1.问题引出 字符串匹配问题 所谓字符串匹配,是这样 etcode的第28题 2. Brute-Force( ...
转载 2021-07-15 10:18:00
557阅读
1点赞
2评论
十大经典排序算法(动图演示)0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比...
转载 2019-01-31 21:59:00
163阅读
查找算法查找算法查找的定义数组和索引二分查找穷举搜索并行搜索查找算法查找的定义查
#mermaid-svg-26ewsbPLuyLPxRKg .label{font-family:'trebuchet ms', v
整理电脑的时候,发现很久之前的课程设计,虽然很简单的课设,但还是想将它分享输来,不然就永远“烂”在我电脑里了,觉得有点可惜。 一、    问题陈述 假设停在铁路调度站入口处的车厢序列的编号一次为1,2,3,4。设计一个程序,求出所有可能由此输出的长度为4的车厢序列。 二、    问题分析与设计 车厢调度问题是实际生活中的一个抽象问
原创 2013-12-25 16:44:00
380阅读
分治算法分而治之,把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。如:二分法、快速排序、归并排序,二叉树遍历(先遍历左子树再遍历右子树)等。步骤:分解:将原有问题分解为若干规模较小,相对独立,与原问题形式相同的子问题;解决:若子问题容易解决,则直接解;否则继续分解为更小的子问题,直到容易解决;合并:将
了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便派上用场了。有人称sp...
转载 2022-06-20 09:46:24
146阅读
快速排序算法执行流程: 1.找到当前数列的中间元素,将它作为基准值,并且保存起来. 2.分别使用基
原创 2022-07-22 09:50:27
128阅读
在贪婪算法(greedy method)中采用逐步构造最优解的方法。在每个阶段,都作出一个看上去最优的决策(在一定的标准下)。决策一旦作出,就不可再更改。作出贪婪决策的依据称为贪婪准则(greedy criterion)。 例1-4 [找零钱] 一个小孩买了
转载 2010-08-11 16:38:05
1507阅读
引言我们要学习的第一种计算最小生成树的算法,它每一步都会为一颗生长中的树添加一条边。下面分析下算法思路思路一开始这棵树只有一个顶点
文章目录一、算法的重要性二、算法一、算法的重要性算法工程师锻炼代码思维,更高效写代码应聘面试(笔试/机试)二、算法
原创 2022-07-01 10:55:49
219阅读
最小生成树 Prim算法 算法思想:从图中任意取出一个顶点,把它当成一颗树,然后从与这棵树相连接的边中选取一条最短的(权值最小)的边,并将这条边及其所连接的顶点并入到当前树中。 生成树生成过程 候选边长的算法:此时树中只有0这个顶点,与0相连接的顶点分别为1、2、3长度分别为5、1、2这个长度就是候 ...
转载 2021-09-26 20:50:00
644阅读
2评论
方法(一)public class Xipaisuanfa {/** * @param args */// 数组大小static Random random =new Random();private int[] positions = { 1, 2, 3, 4, 5, 6, 9, 7, 8, 0 };public Xipaisuanfa() {}// 重排序public void changeP
原创 2013-10-21 13:28:19
2616阅读
  • 1
  • 2
  • 3
  • 4
  • 5