![](https://img-blog.csdnimg.cn/20191017141121882.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
经典算法
王小禾
武汉理工大学
展开
-
查找算法
顺序查找原理实现折半查找原理实现顺序查找原理让关键字与队列中的数从最后一个开始逐个比较,直到找出与给定关键字相同的数为止,它的缺点是效率低下。时间复杂度o(n)。实现public class Solution { public static int SequenceSearch(int[] sz, int key) { for (int i = 0; i < sz.l原创 2017-08-14 14:58:05 · 154 阅读 · 0 评论 -
文章标题
阿利亚正在解一道数学题,给出了一颗有N个节点的树,索引从1到N原创 2017-08-31 12:42:41 · 315 阅读 · 0 评论 -
全排列
原理全排列是将一组数按一定顺序进行排列,如果这组数有n个,那么全排列数为n!个。现以{1, 2, 3, 4, 5}为例说明如何编写全排列的递归算法。{5}的全排列为5.{4, 5}的全排列为4 5和5 4。{3,4,5}的全排列为以3开头的4 5的全排列、4开头的3 5 的全排列,5开头的3 4的全排列。 … …设一组数p = {r1, r2, r3, … ,rn}, 全排列为perm(p原创 2017-08-30 22:08:18 · 460 阅读 · 0 评论 -
dfs
dfs解决迷宫问题,就是1代表障碍,0代表通过,然后问从头到尾一共有几条路径可以走到终点,这个问题同样是dfs加回溯,就是遍历每一个走过点的上下左右四个方向,直到最后走到终点再重新回溯就是return 1,把走过的还原为0,(因为走过的路都标记为1),最后return sum把顺带可以return的结果输出。/* 输入两个数n,m,代表迷宫的行和列 接下来输入n行m列由0,1组成的迷原创 2017-04-18 16:35:58 · 497 阅读 · 0 评论 -
Dijkstra原理及java实现
一Dijkstra原理简介A1示例1求A到F的最短路径过程详解A2示例1求A到F的最短路径的java代码二华为2017春招题一、Dijkstra原理简介Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。其基本思想是,设置顶点集合S并不断地作贪心选择来扩充这个集合。一个顶点属于集合S当且仅当从源到该顶点的最短路径长度已知。有向图和无向图均可求解。原创 2017-03-29 12:20:02 · 636 阅读 · 1 评论 -
硬币找零
public class CoinChangeDongGui { public static void main(String[] args) { //int[] coinValue = new int[] { 25, 21, 10, 5, 1 }; int[] coinValue = new int[] { 21, 25, 10, 5 }原创 2017-04-05 15:41:04 · 239 阅读 · 0 评论 -
(背包三)多重背包
public class BeiBaoMulti { public static void main(String[] args) { int[] value = {10,40,30,50}; int[] weight = {5,4,6,3}; int[] num = {2,3,2,2}; int capacity =12;原创 2017-04-05 15:35:28 · 351 阅读 · 0 评论 -
(背包一)0-1背包问题
问题描述小偷的背包容量是固定的W,物品重量wt[],对应的价值val[]。那么背包最大可以装多大的价值呢?示例输入: int[] val = {48,40,12,8,7}; int[] wt = {6,5,2,1,1}; int W =8;最大价值目测是48+8+7=63,容量刚好为6+1+1=8.那么对于复杂的输入,该如何写算法呢?动态规划思路二维原创 2017-04-04 22:32:53 · 406 阅读 · 0 评论 -
(背包二)完全背包
public class BeibaoComplete { public static void main(String[] args) { //int[] value = { 48, 40, 12, 8, 7 }; //int[] weight = { 6, 5, 2, 1, 1 }; //int capacity = 8; i原创 2017-04-05 15:25:01 · 254 阅读 · 0 评论 -
各种排序算法
插入排序 直接插入排序希尔排序选择排序 算法原理算法实现算法复杂度交换排序冒泡排序算法原理算法实现算法复杂度快速排序算法原理算法实现githuab链接:https://github.com/William-Hai/ArraySortAlgorithm插入排序 直接插入排序详解链接:http://blog.csdn.net/lemon_tree12138/article/d原创 2017-08-02 22:07:45 · 257 阅读 · 0 评论